Results Study 1: Self-Improvement and Self-Acceptance as Mechanisms of Positive Personality Change
Author
[blinded]
1 Load packages
Show the code
library(renv)library(tidyverse)library(broom)library(labelled)library(psych)library(GPArotation)#library(devtools)#install_github("cran/multicon") # not on CRAN atmlibrary(multicon)library(correlation)library(careless)library(corrplot)library(lavaan)library(semTools)library(semPlot)library(knitr)library(ggdist)library(ggforce)library(cowplot)library(nortest)library(lmerTest)library(wordcloud) # these 3 for the word cloudslibrary(RColorBrewer)library(tm)
Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: some cases are empty and will be ignored:
16 41 91 317 381 382 414 444 505 606 705
summary(fit_cfa_neuro_curr, fit.measures =TRUE)
lavaan 0.6.15 ended normally after 34 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 36
Used Total
Number of observations 704 715
Number of missing patterns 4
Model Test User Model:
Test statistic 654.794
Degrees of freedom 54
P-value (Chi-square) 0.000
Model Test Baseline Model:
Test statistic 3599.996
Degrees of freedom 66
P-value 0.000
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.830
Tucker-Lewis Index (TLI) 0.792
Robust Comparative Fit Index (CFI) 0.830
Robust Tucker-Lewis Index (TLI) 0.792
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -12392.351
Loglikelihood unrestricted model (H1) -12064.954
Akaike (AIC) 24856.701
Bayesian (BIC) 25020.745
Sample-size adjusted Bayesian (SABIC) 24906.437
Root Mean Square Error of Approximation:
RMSEA 0.126
90 Percent confidence interval - lower 0.117
90 Percent confidence interval - upper 0.134
P-value H_0: RMSEA <= 0.050 0.000
P-value H_0: RMSEA >= 0.080 1.000
Robust RMSEA 0.126
90 Percent confidence interval - lower 0.117
90 Percent confidence interval - upper 0.134
P-value H_0: Robust RMSEA <= 0.050 0.000
P-value H_0: Robust RMSEA >= 0.080 1.000
Standardized Root Mean Square Residual:
SRMR 0.060
Parameter Estimates:
Standard errors Standard
Information Observed
Observed information based on Hessian
Latent Variables:
Estimate Std.Err z-value P(>|z|)
neuro_curr1 =~
b05_04_ (lmb1) 0.889 0.044 20.156 0.000
b05_09_ (lmb2) 0.720 0.045 15.945 0.000
b05_14_ (lmb3) -0.831 0.047 -17.825 0.000
b05_19_ (lmb4) -0.598 0.040 -14.906 0.000
b05_24_ (lmb5) 0.803 0.045 17.928 0.000
b05_29_ (lmb6) 0.903 0.042 21.305 0.000
b05_34_ (lmb7) -0.810 0.041 -19.588 0.000
b05_39_ (lmb8) -0.923 0.044 -20.954 0.000
b05_44_ (lmb9) 0.776 0.043 18.009 0.000
b05_49_ (lm10) 0.599 0.046 12.942 0.000
b05_54_ (lm11) -0.949 0.045 -21.283 0.000
b05_59_ (lm12) -0.759 0.048 -15.789 0.000
Intercepts:
Estimate Std.Err z-value P(>|z|)
.bf05_04_1 (i1) 2.754 0.048 57.017 0.000
.bf05_09_1 2.926 0.047 62.162 0.000
.bf05_14_1 3.257 0.050 65.636 0.000
.bf05_19_1 3.639 0.041 87.961 0.000
.bf05_24_1 2.942 0.048 61.537 0.000
.bf05_29_1 2.908 0.047 61.917 0.000
.bf05_34_1 3.861 0.045 85.935 0.000
.bf05_39_1 3.383 0.048 70.033 0.000
.bf05_44_1 3.161 0.046 69.232 0.000
.bf05_49_1 2.366 0.047 50.510 0.000
.bf05_54_1 3.331 0.049 67.698 0.000
.bf05_59_1 3.151 0.050 63.190 0.000
neur_crr1 0.000
Variances:
Estimate Std.Err z-value P(>|z|)
.bf05_04_t1 0.852 0.051 16.673 0.000
.bf05_09_t1 1.041 0.059 17.648 0.000
.bf05_14_t1 1.042 0.060 17.251 0.000
.bf05_19_t1 0.848 0.048 17.841 0.000
.bf05_24_t1 0.963 0.056 17.288 0.000
.bf05_29_t1 0.737 0.046 16.091 0.000
.bf05_34_t1 0.766 0.046 16.816 0.000
.bf05_39_t1 0.791 0.050 15.897 0.000
.bf05_44_t1 0.865 0.051 16.946 0.000
.bf05_49_t1 1.184 0.065 18.086 0.000
.bf05_54_t1 0.804 0.051 15.845 0.000
.bf05_59_t1 1.174 0.067 17.579 0.000
neuro_curr1 1.000
# across all participants: ethnicitydf_sbsa %>%group_by(pid) %>%slice_head(n=1) %>%ungroup() %>%group_by(ethnicity) %>%summarise(n =n()) %>%ungroup() %>%mutate(prop =round(n /sum(n) *100, 3))
# A tibble: 6 × 3
ethnicity n prop
<chr> <int> <dbl>
1 Asian 15 2.10
2 Black 193 27.0
3 Mixed 34 4.76
4 Other 12 1.68
5 White 457 63.9
6 <NA> 4 0.559
# across all participants: country of residencedf_sbsa %>%group_by(pid) %>%slice_head(n=1) %>%ungroup() %>%group_by(country) %>%summarise(n =n()) %>%ungroup() %>%arrange(desc(n)) %>%mutate(prop =round(n /sum(n) *100, 3)) %>%print(n=20)
# A tibble: 30 × 3
country n prop
<chr> <int> <dbl>
1 South Africa 218 30.5
2 Poland 124 17.3
3 United Kingdom 63 8.81
4 Italy 59 8.25
5 Portugal 51 7.13
6 Greece 50 6.99
7 Spain 34 4.76
8 Hungary 27 3.78
9 Czech Republic 13 1.82
10 Mexico 9 1.26
11 Netherlands 9 1.26
12 Estonia 7 0.979
13 Germany 5 0.699
14 Latvia 5 0.699
15 Australia 4 0.559
16 Belgium 4 0.559
17 France 4 0.559
18 Ireland 4 0.559
19 Slovenia 4 0.559
20 Sweden 4 0.559
# ℹ 10 more rows
# across all participants: student statusdf_sbsa %>%group_by(pid) %>%slice_head(n=1) %>%ungroup() %>%group_by(student) %>%summarise(n =n()) %>%ungroup() %>%arrange(desc(n)) %>%mutate(prop =round(n /sum(n) *100, 3))
# A tibble: 3 × 3
student n prop
<chr> <int> <dbl>
1 No 373 52.2
2 Yes 285 39.9
3 <NA> 57 7.97
# across all participants: employment statusdf_sbsa %>%group_by(pid) %>%slice_head(n=1) %>%ungroup() %>%group_by(employed) %>%summarise(n =n()) %>%ungroup() %>%arrange(desc(n)) %>%mutate(prop =round(n /sum(n) *100, 3))
# A tibble: 7 × 3
employed n prop
<chr> <int> <dbl>
1 Full-Time 336 47.0
2 Part-Time 118 16.5
3 Unemployed (and job seeking) 88 12.3
4 <NA> 71 9.93
5 Other 60 8.39
6 Not in paid work (e.g. homemaker', 'retired or disabled) 29 4.06
7 Due to start a new job within the next month 13 1.82
5.3 Internal consistencies
On the trait/dimensional level:
# created in study 1 cleaning script kable(int_consist_traits_st1, digits =3)
trait
rel_alpha_current
rel_alpha_ideal
rel_omega_t_current
rel_omega_t_ideal
rel_omega_h_current
rel_omega_h_ideal
lifesat
0.860
NA
0.890
NA
0.720
NA
meaning
0.861
NA
0.932
NA
0.512
NA
selfes
0.904
NA
0.921
NA
0.704
NA
concept
0.879
NA
0.900
NA
0.748
NA
extra
0.831
0.695
0.867
0.754
0.639
0.462
agree
0.777
0.768
0.831
0.822
0.573
0.636
consc
0.876
0.793
0.899
0.827
0.726
0.682
neuro
0.894
0.762
0.913
0.808
0.733
0.674
openn
0.777
0.718
0.834
0.797
0.580
0.554
McDonald’s omega only really makes sense for the Big Five dimensions (with their three facets each) but I’ve added it for the well-being measures as well. Keep in mind that a few of the omega computations for the well-being measures only converged with error messages. These constructs were not neccessarily intended to be tested in this multidimensional manner for internal consistency.
On the facet level:
# created in study 1 cleaning script kable(int_consist_facets_st1, digits =3)
facet
rel_alpha_current
rel_alpha_ideal
socia
0.801
0.604
asser
0.697
0.531
energ
0.691
0.502
compa
0.496
0.450
respe
0.694
0.623
trust
0.644
0.619
organ
0.827
0.562
produ
0.770
0.640
respo
0.644
0.571
anxie
0.726
0.421
depre
0.811
0.556
volat
0.810
0.651
curio
0.620
0.506
aesth
0.574
0.448
imagi
0.705
0.526
5.4 General change/acceptance goals
Summary stats:
table(df_sbsa$sb06_01) # How much do you want to change your personality in general?
1 2 3 4 5
22 63 153 90 28
summary(df_sbsa$sb06_01)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1.00 3.00 3.00 3.11 4.00 5.00 1015
table(df_sbsa$sa06_01) # How much do you want to be better at accepting yourself for who you are?
1 2 3 4 5
6 10 50 110 163
summary(df_sbsa$sa06_01)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1.000 4.000 4.000 4.221 5.000 5.000 1032
Pre:
Here is a list of 15 personality traits. You might be high or low on any of these traits. Regardless of how high or low you are on these traits, we want to know how much you [want to] change. Please rate how much you would like to change your level of each of these traits, where 1 = I do not want to change and 5 = I want to change a lot.
Post:
Here is a list of 15 personality traits. During the study, you may have tried to change in some of these traits. We want to know how you think you changed in each trait. Please rate how much you changed your level of each of these traits during this study, where 1 = I am completely the same and 5 = I have changed a lot.
Self Acceptance
Pre:
Here is a list of 15 personality traits. You might be high or low on any of these traits. Regardless of how high or low you are on these traits, we want to know how much you accept yourself. Please rate how much you accept your level of each of these traits, where 1 = I completely accept myself and 5 = I want to accept myself more.
Post:
Here is a list of 15 personality traits. During the study, you may have tried to accept your level on some of these traits more. We want to know how much you think you accept yourself more because of this study. Please rate how much you accept your level of each of these traits more during this study, where 1 = I accept myself the same and 5 = I accept this about myself much more.
6.1 H1: Well-being - similarity correlations (H4 in paper)
All four psychological well-being indicators will be positively correlated with a greater similarity between current- and ideal self-ratings of personality.
To examine this at the level of overall profiles, we will compute the correlations between the psychological well-being indicators and the Fisher z transformed correlations between the facet- and item-level real-ideal self-profiles. To examine this at the level of individual traits, we will compute the correlation between psychological well-being indicators and the squared difference between current- and ideal-self rating for each Big Five trait and facet.
corrplot(cormat_profile, type ="lower", order ="original", tl.col ="black", tl.srt =10,addCoef.col ='black', number.cex =0.7, diag =FALSE) # also add numbers
Positive correlations of well-being indicators with profile similarity between current self and ideal self personality. Especially high correlation with self-esteem. High congruence of item-level and facet-level profile similarity.
corrplot(cormat_sqtraits, type ="lower", order ="original", tl.col ="black", tl.srt =10,addCoef.col ='black', number.cex =0.7, diag =FALSE) # also add numbers
Big Five facets
corrplot(cormat_sqfacets, type ="lower", order ="original", tl.col ="black", tl.srt =10,addCoef.col ='black', number.cex =0.6, diag =FALSE) # also add numbers
Here we see negative correlations of well-being indicators with squared trait- and facet-level mean-score differences between current self and ideal self personality. Especially pronounced negative correlations for neuroticism, extraversion, and conscientiousness (in that order).
6.1.2.1 Exploratory: Controlling for initial trait levels
Additional, exploratory analysis: Are the relationships of the squared trait differences with well-being similar when we control for initial trait levels (at T1)?
# basic model to replicate the correlationmod_ex_1 <-lm(swls ~ extra_sqdiff, data = df_sbsa %>%filter(rando!="Waitlist-Control"& time==1))summary(mod_ex_1)$coef
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.9651060 0.04450560 66.62322 5.355442e-304
extra_sqdiff -0.1640454 0.01612553 -10.17303 9.362207e-23
Does the relationship between the squared difference in one trait (current vs. ideal) and well-being aspects still hold if we control for the initial trait level?
Effects mostly still significant but not always at the p < .001 level. Few effects still significant for self-concept clarity. Correlation is especially stongly reduced for neuroticism and its facets depression and anxiety.
Does the relationship between the squared difference in one trait (current vs. ideal) and well-being aspects still hold if we control for the initial trait level?
Almost all effects significant at the p < .001 level when we include all time points at once. Somewhat stronger effects for neuroticism and extraversion (and their facets).
6.2 H2: Well-being - latent change (H5 in paper)
Both groups will increase in all four psychological well-being indicators.
We will test the mean-level difference between baseline and follow up using a latent change model.
6.2.1 Life satisfaction
Fit model:
Show the code
# Code snippets adapted from Kievit et al. (2018) -- CC-BY -- https://doi.org/10.1016/j.dcn.2017.11.007# Fit the multiple indicator Univariate Latent Change Score modelmi_lcs_swls_hyp2 <-'swls_t1 =~ 1*sw06_01_t1 + lamb2*sw06_02_t1 + lamb3*sw06_03_t1 + lamb4*sw06_04_t1 # This specifies the measurement model for swls_t1 swls_t2 =~ 1*sw06_01_t2 + lamb2*sw06_02_t2 + lamb3*sw06_03_t2 + lamb4*sw06_04_t2 # This specifies the measurement model for swls_t2 with the equality constrained factor loadingsswls_t2 ~ 1*swls_t1 # This parameter regresses swls_t2 perfectly on swls_t1d_swls_1 =~ 1*swls_t2 # This defines the latent change score factor as measured perfectly by scores on swls_t2swls_t2 ~ 0*1 # This line constrains the intercept of swls_t2 to 0swls_t2 ~~ 0*swls_t2 # This fixes the variance of swls_t2 to 0d_swls_1 ~ 1 # This estimates the intercept of the change score swls_t1 ~ 1 # This estimates the intercept of swls_t1 d_swls_1 ~~ d_swls_1 # This estimates the variance of the change scores swls_t1 ~~ swls_t1 # This estimates the variance of the swls_t1 d_swls_1 ~~ swls_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalsw06_01_t1 ~~ sw06_01_t2 # This allows residual covariance on indicator X1 across T1 and T2sw06_02_t1 ~~ sw06_02_t2 # This allows residual covariance on indicator X2 across T1 and T2sw06_03_t1 ~~ sw06_03_t2 # This allows residual covariance on indicator X3 across T1 and T2sw06_04_t1 ~~ sw06_04_t2 # This allows residual covariance on indicator X4 across T1 and T2sw06_01_t1 ~~ res1*sw06_01_t1 # This allows residual variance on indicator X1 at T1 sw06_02_t1 ~~ res2*sw06_02_t1 # This allows residual variance on indicator X2 at T1sw06_03_t1 ~~ res3*sw06_03_t1 # This allows residual variance on indicator X3 at T1sw06_04_t1 ~~ res4*sw06_04_t1 # This allows residual variance on indicator X4 at T1sw06_01_t2 ~~ res1*sw06_01_t2 # This allows residual variance on indicator X1 at T2 sw06_02_t2 ~~ res2*sw06_02_t2 # This allows residual variance on indicator X2 at T2 sw06_03_t2 ~~ res3*sw06_03_t2 # This allows residual variance on indicator X3 at T2sw06_04_t2 ~~ res4*sw06_04_t2 # This allows residual variance on indicator X4 at T2sw06_01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1sw06_02_t1 ~ m2*1 # This estimates the intercept of X2 at T1sw06_03_t1 ~ m3*1 # This estimates the intercept of X3 at T1sw06_04_t1 ~ m4*1 # This estimates the intercept of X4 at T1sw06_01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2sw06_02_t2 ~ m2*1 # This estimates the intercept of X2 at T2sw06_03_t2 ~ m3*1 # This estimates the intercept of X3 at T2sw06_04_t2 ~ m4*1 # This estimates the intercept of X4 at T2'fit_mi_lcs_swls_hyp2 <-lavaan(mi_lcs_swls_hyp2, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_swls_hyp2, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Significantly higher life satisfaction at the post test, b = 0.288, p = 0. Those with initially higher levels of life satisfaction (at T1) change to a lesser degree.
6.2.2 Meaning in life
Fit model:
Show the code
# Code snippets adapted from Kievit et al. (2018) -- CC-BY -- https://doi.org/10.1016/j.dcn.2017.11.007# Fit the multiple indicator Univariate Latent Change Score modelmi_lcs_meaning_hyp2 <-'meaning_t1 =~ 1*meaning_par1_t1 + lamb2*meaning_par2_t1 + lamb3*meaning_par3_t1 # This specifies the measurement model for meaning_t1 meaning_t2 =~ 1*meaning_par1_t2 + lamb2*meaning_par2_t2 + lamb3*meaning_par3_t2 # This specifies the measurement model for meaning_t2 with the equality constrained factor loadingsmeaning_t2 ~ 1*meaning_t1 # This parameter regresses meaning_t2 perfectly on meaning_t1d_meaning_1 =~ 1*meaning_t2 # This defines the latent change score factor as measured perfectly by scores on meaning_t2meaning_t2 ~ 0*1 # This line constrains the intercept of meaning_t2 to 0meaning_t2 ~~ 0*meaning_t2 # This fixes the variance of meaning_t2 to 0d_meaning_1 ~ 1 # This estimates the intercept of the change score meaning_t1 ~ 1 # This estimates the intercept of meaning_t1 d_meaning_1 ~~ d_meaning_1 # This estimates the variance of the change scores meaning_t1 ~~ meaning_t1 # This estimates the variance of the meaning_t1 d_meaning_1 ~~ meaning_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalmeaning_par1_t1 ~~ meaning_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2meaning_par2_t1 ~~ meaning_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2meaning_par3_t1 ~~ meaning_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2meaning_par1_t1 ~~ res1*meaning_par1_t1 # This allows residual variance on indicator X1 at T1 meaning_par2_t1 ~~ res2*meaning_par2_t1 # This allows residual variance on indicator X2 at T1meaning_par3_t1 ~~ res3*meaning_par3_t1 # This allows residual variance on indicator X3 at T1meaning_par1_t2 ~~ res1*meaning_par1_t2 # This allows residual variance on indicator X1 at T2 meaning_par2_t2 ~~ res2*meaning_par2_t2 # This allows residual variance on indicator X2 at T2 meaning_par3_t2 ~~ res3*meaning_par3_t2 # This allows residual variance on indicator X3 at T2meaning_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1meaning_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1meaning_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1meaning_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2meaning_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2meaning_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2'fit_mi_lcs_meaning_hyp2 <-lavaan(mi_lcs_meaning_hyp2, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_meaning_hyp2, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Participants improved significantly in meaning in life across time, b = 0.279, p = 0.
6.2.3 Self-esteem
Fit model:
Show the code
# Code snippets adapted from Kievit et al. (2018) -- CC-BY -- https://doi.org/10.1016/j.dcn.2017.11.007# Fit the multiple indicator Univariate Latent Change Score modelmi_lcs_selfes_hyp2 <-'selfes_t1 =~ 1*selfes_par1_t1 + lamb2*selfes_par2_t1 + lamb3*selfes_par3_t1 # This specifies the measurement model for selfes_t1 selfes_t2 =~ 1*selfes_par1_t2 + lamb2*selfes_par2_t2 + lamb3*selfes_par3_t2 # This specifies the measurement model for selfes_t2 with the equality constrained factor loadingsselfes_t2 ~ 1*selfes_t1 # This parameter regresses selfes_t2 perfectly on selfes_t1d_selfes_1 =~ 1*selfes_t2 # This defines the latent change score factor as measured perfectly by scores on selfes_t2selfes_t2 ~ 0*1 # This line constrains the intercept of selfes_t2 to 0selfes_t2 ~~ 0*selfes_t2 # This fixes the variance of selfes_t2 to 0d_selfes_1 ~ 1 # This estimates the intercept of the change score selfes_t1 ~ 1 # This estimates the intercept of selfes_t1 d_selfes_1 ~~ d_selfes_1 # This estimates the variance of the change scores selfes_t1 ~~ selfes_t1 # This estimates the variance of the selfes_t1 d_selfes_1 ~~ selfes_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalselfes_par1_t1 ~~ selfes_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2selfes_par2_t1 ~~ selfes_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2selfes_par3_t1 ~~ selfes_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2selfes_par1_t1 ~~ res1*selfes_par1_t1 # This allows residual variance on indicator X1 at T1 selfes_par2_t1 ~~ res2*selfes_par2_t1 # This allows residual variance on indicator X2 at T1selfes_par3_t1 ~~ res3*selfes_par3_t1 # This allows residual variance on indicator X3 at T1selfes_par1_t2 ~~ res1*selfes_par1_t2 # This allows residual variance on indicator X1 at T2 selfes_par2_t2 ~~ res2*selfes_par2_t2 # This allows residual variance on indicator X2 at T2 selfes_par3_t2 ~~ res3*selfes_par3_t2 # This allows residual variance on indicator X3 at T2selfes_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1selfes_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1selfes_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1selfes_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2selfes_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2selfes_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2'fit_mi_lcs_selfes_hyp2 <-lavaan(mi_lcs_selfes_hyp2, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_selfes_hyp2, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Participants increased significantly in self-esteem between the two assessments, b = 0.285, p = 0.
6.2.4 Self concept clarity
Fit model:
Show the code
# Code snippets adapted from Kievit et al. (2018) -- CC-BY -- https://doi.org/10.1016/j.dcn.2017.11.007# Fit the multiple indicator Univariate Latent Change Score modelmi_lcs_concept_hyp2 <-'concept_t1 =~ 1*concept_par1_t1 + lamb2*concept_par2_t1 + lamb3*concept_par3_t1 # This specifies the measurement model for concept_t1 concept_t2 =~ 1*concept_par1_t2 + lamb2*concept_par2_t2 + lamb3*concept_par3_t2 # This specifies the measurement model for concept_t2 with the equality constrained factor loadingsconcept_t2 ~ 1*concept_t1 # This parameter regresses concept_t2 perfectly on concept_t1d_concept_1 =~ 1*concept_t2 # This defines the latent change score factor as measured perfectly by scores on concept_t2concept_t2 ~ 0*1 # This line constrains the intercept of concept_t2 to 0concept_t2 ~~ 0*concept_t2 # This fixes the variance of concept_t2 to 0d_concept_1 ~ 1 # This estimates the intercept of the change score concept_t1 ~ 1 # This estimates the intercept of concept_t1 d_concept_1 ~~ d_concept_1 # This estimates the variance of the change scores concept_t1 ~~ concept_t1 # This estimates the variance of the concept_t1 d_concept_1 ~~ concept_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalconcept_par1_t1 ~~ concept_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2concept_par2_t1 ~~ concept_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2concept_par3_t1 ~~ concept_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2concept_par1_t1 ~~ res1*concept_par1_t1 # This allows residual variance on indicator X1 at T1 concept_par2_t1 ~~ res2*concept_par2_t1 # This allows residual variance on indicator X2 at T1concept_par3_t1 ~~ res3*concept_par3_t1 # This allows residual variance on indicator X3 at T1concept_par1_t2 ~~ res1*concept_par1_t2 # This allows residual variance on indicator X1 at T2 concept_par2_t2 ~~ res2*concept_par2_t2 # This allows residual variance on indicator X2 at T2 concept_par3_t2 ~~ res3*concept_par3_t2 # This allows residual variance on indicator X3 at T2concept_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1concept_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1concept_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1concept_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2concept_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2concept_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2'fit_mi_lcs_concept_hyp2 <-lavaan(mi_lcs_concept_hyp2, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_concept_hyp2, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Self concept clarity improved significantly across time, b = 0.202, p = 0.
6.3 H3: Distance between ideal- and current-self over time (H1 in paper)
The distance between ideal- and current-self will decrease in both groups.
We will use two strategies to test this hypothesis. First, we will compute the Fisher z-transformed profile correlation between current- and ideal-self and test whether it increased across assessments. Second, we will test whether the squared difference between current- and ideal-self ratings for each Big Five trait decreased across assessments. We will test mean-level differences in profile correlations and squared differences between baseline and follow up using repeated-measures t-test.
6.3.1 Profile similarity
Reshape to wide:
Show the code
# reshape to widedf_sbsa_wide_profdiff <- df_sbsa %>%arrange(pid, time) %>%select(pid, time, profile_corr_item_z, profile_corr_facet_z, ends_with("_sqdiff")) %>%pivot_wider(names_from = time,names_sep ="_t",values_from =-c(pid, time))
profile_df_plot <- df_sbsa %>%select(pid, time, profile_corr_item_z, profile_corr_facet_z) %>%pivot_longer(-c(pid, time), names_to ="itemfacet", values_to ="corr") %>%mutate(itemfacet2 =fct_recode(itemfacet, "Item-level"="profile_corr_item_z", "Facet-level"="profile_corr_facet_z"),itemfacet2 =fct_reorder(itemfacet2, corr, .desc = F))ggplot(profile_df_plot) +aes(x =as.factor(time), y = corr) +geom_boxplot() +geom_violin(fill =NA) +facet_wrap(vars(itemfacet2)) +labs(x ="Measurement Occasion", y ="Profile correlation", title ="H3: Distance between ideal- and current-self") +theme_bw()
Significantly higher profile correlations at the second measurement occasion, both for the item-level profile correlation and the facet-level profile correlations.
For some of the facets, the distribution look very similar and differences over time are perhaps driven by outliers.
6.4 H4: Change goals and change in personality (current / ideal) in self-improvement group
In the self-improvement group, there will be a correlation between change goals and change in current-self ratings but not change in ideal-self ratings.
We will test this one domain/facet at a time. We will use both general continuous change goal score as well as trait-specific change goals. To test this hypothesis, we will estimate the mean-level differences across time for both current and ideal trait ratings using latent change models and correlate change goals with the change variable from those models.
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sb <- df_sbsa %>%filter(rando=="Self-Improvement") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sb07")), # facet-specific change goals sb06_01) %>%# general change goalpivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with("sb07"), sb06_01)) %>%select(-c(sb07_01_t2, sb07_02_t2, sb07_03_t2, sb07_04_t2, sb07_05_t2, sb07_06_t2, sb07_07_t2, sb07_08_t2, sb07_09_t2, sb07_10_t2, sb07_11_t2, sb07_12_t2, sb07_13_t2, sb07_14_t2, sb07_15_t2, sb06_01_t2))# standardize goal variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sb <- df_sbsa_wide_pers_sb %>%mutate_at(c(colnames(df_sbsa_wide_pers_sb)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sb)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sb <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Improvement") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sb)
6.4.1 Big Five traits
6.4.1.1 Extraversion - current-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_curr_hyp4 <-'extra_t1 =~ 1*extra_curr_par1_t1 + lamb2*extra_curr_par2_t1 + lamb3*extra_curr_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_curr_par1_t2 + lamb2*extra_curr_par2_t2 + lamb3*extra_curr_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsextra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 d_extra_1 ~~ extra_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableextra_curr_par1_t1 ~~ extra_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_curr_par2_t1 ~~ extra_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_curr_par3_t1 ~~ extra_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_curr_par1_t1 ~~ res1*extra_curr_par1_t1 # This allows residual variance on indicator X1 at T1 extra_curr_par2_t1 ~~ res2*extra_curr_par2_t1 # This allows residual variance on indicator X2 at T1extra_curr_par3_t1 ~~ res3*extra_curr_par3_t1 # This allows residual variance on indicator X3 at T1extra_curr_par1_t2 ~~ res1*extra_curr_par1_t2 # This allows residual variance on indicator X1 at T2 extra_curr_par2_t2 ~~ res2*extra_curr_par2_t2 # This allows residual variance on indicator X2 at T2 extra_curr_par3_t2 ~~ res3*extra_curr_par3_t2 # This allows residual variance on indicator X3 at T2extra_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_extra_curr_hyp4 <-lavaan(mi_lcs_extra_curr_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
The correlation of the general change goal with the extraversion change score (current-self) is significantly different from zero, r = 0.187, p = 0.015.
6.4.1.2 Extraversion - ideal-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_ideal_hyp4 <-'extra_t1 =~ 1*extra_ideal_par1_t1 + lamb2*extra_ideal_par2_t1 + lamb3*extra_ideal_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_ideal_par1_t2 + lamb2*extra_ideal_par2_t2 + lamb3*extra_ideal_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsextra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 d_extra_1 ~~ extra_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableextra_ideal_par1_t1 ~~ extra_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_ideal_par2_t1 ~~ extra_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_ideal_par3_t1 ~~ extra_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_ideal_par1_t1 ~~ res1*extra_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 extra_ideal_par2_t1 ~~ res2*extra_ideal_par2_t1 # This allows residual variance on indicator X2 at T1extra_ideal_par3_t1 ~~ res3*extra_ideal_par3_t1 # This allows residual variance on indicator X3 at T1extra_ideal_par1_t2 ~~ res1*extra_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 extra_ideal_par2_t2 ~~ res2*extra_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 extra_ideal_par3_t2 ~~ res3*extra_ideal_par3_t2 # This allows residual variance on indicator X3 at T2extra_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_extra_ideal_hyp4 <-lavaan(mi_lcs_extra_ideal_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_ideal_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_curr_specif_hyp4 <-'extra_t1 =~ 1*extra_curr_par1_t1 + lamb2*extra_curr_par2_t1 + lamb3*extra_curr_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_curr_par1_t2 + lamb2*extra_curr_par2_t2 + lamb3*extra_curr_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_01_t1 + sb07_02_t1 + sb07_03_t1 # latent change goal variable (three facets per trait)extra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 d_extra_1 ~~ extra_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableextra_curr_par1_t1 ~~ extra_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_curr_par2_t1 ~~ extra_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_curr_par3_t1 ~~ extra_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_curr_par1_t1 ~~ res1*extra_curr_par1_t1 # This allows residual variance on indicator X1 at T1 extra_curr_par2_t1 ~~ res2*extra_curr_par2_t1 # This allows residual variance on indicator X2 at T1extra_curr_par3_t1 ~~ res3*extra_curr_par3_t1 # This allows residual variance on indicator X3 at T1extra_curr_par1_t2 ~~ res1*extra_curr_par1_t2 # This allows residual variance on indicator X1 at T2 extra_curr_par2_t2 ~~ res2*extra_curr_par2_t2 # This allows residual variance on indicator X2 at T2 extra_curr_par3_t2 ~~ res3*extra_curr_par3_t2 # This allows residual variance on indicator X3 at T2extra_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_01_t1 ~~ sb07_01_t1sb07_02_t1 ~~ sb07_02_t1sb07_03_t1 ~~ sb07_03_t1sb07_01_t1 ~ 1sb07_02_t1 ~ 1sb07_03_t1 ~ 1'fit_mi_lcs_extra_curr_specif_hyp4 <-lavaan(mi_lcs_extra_curr_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with extraversion change score (current-self) is not significantly different from zero, r = 0.048, p = 0.647.
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_ideal_specif_hyp4 <-'extra_t1 =~ 1*extra_ideal_par1_t1 + lamb2*extra_ideal_par2_t1 + lamb3*extra_ideal_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_ideal_par1_t2 + lamb2*extra_ideal_par2_t2 + lamb3*extra_ideal_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_01_t1 + sb07_02_t1 + sb07_03_t1 # latent change goal variable (three facets per trait)extra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 d_extra_1 ~~ extra_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableextra_ideal_par1_t1 ~~ extra_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_ideal_par2_t1 ~~ extra_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_ideal_par3_t1 ~~ extra_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_ideal_par1_t1 ~~ res1*extra_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 extra_ideal_par2_t1 ~~ res2*extra_ideal_par2_t1 # This allows residual variance on indicator X2 at T1extra_ideal_par3_t1 ~~ res3*extra_ideal_par3_t1 # This allows residual variance on indicator X3 at T1extra_ideal_par1_t2 ~~ res1*extra_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 extra_ideal_par2_t2 ~~ res2*extra_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 extra_ideal_par3_t2 ~~ res3*extra_ideal_par3_t2 # This allows residual variance on indicator X3 at T2extra_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_01_t1 ~~ sb07_01_t1sb07_02_t1 ~~ sb07_02_t1sb07_03_t1 ~~ sb07_03_t1sb07_01_t1 ~ 1sb07_02_t1 ~ 1sb07_03_t1 ~ 1'fit_mi_lcs_extra_ideal_specif_hyp4 <-lavaan(mi_lcs_extra_ideal_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_ideal_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with extraversion change score (ideal-self) is not significantly different from zero, r = 0.173, p = 0.343.
6.4.1.5 Agreeableness - current-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_curr_hyp4 <-'agree_t1 =~ 1*agree_curr_par1_t1 + lamb2*agree_curr_par2_t1 + lamb3*agree_curr_par3_t1 # This specifies the measurement model for agree_t1agree_t2 =~ 1*agree_curr_par1_t2 + lamb2*agree_curr_par2_t2 + lamb3*agree_curr_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsagree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 d_agree_1 ~~ agree_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableagree_curr_par1_t1 ~~ agree_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_curr_par2_t1 ~~ agree_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_curr_par3_t1 ~~ agree_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_curr_par1_t1 ~~ res1*agree_curr_par1_t1 # This allows residual variance on indicator X1 at T1 agree_curr_par2_t1 ~~ res2*agree_curr_par2_t1 # This allows residual variance on indicator X2 at T1agree_curr_par3_t1 ~~ res3*agree_curr_par3_t1 # This allows residual variance on indicator X3 at T1agree_curr_par1_t2 ~~ res1*agree_curr_par1_t2 # This allows residual variance on indicator X1 at T2 agree_curr_par2_t2 ~~ res2*agree_curr_par2_t2 # This allows residual variance on indicator X2 at T2 agree_curr_par3_t2 ~~ res3*agree_curr_par3_t2 # This allows residual variance on indicator X3 at T2agree_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_agree_curr_hyp4 <-lavaan(mi_lcs_agree_curr_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
Correlation of general change goal with agreeableness change score (current-self) is not significantly different from zero, r = -0.064, p = 0.421.
6.4.1.6 Agreeableness - ideal-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_ideal_hyp4 <-'agree_t1 =~ 1*agree_ideal_par1_t1 + lamb2*agree_ideal_par2_t1 + lamb3*agree_ideal_par3_t1 # This specifies the measurement model for agree_t1 agree_t2 =~ 1*agree_ideal_par1_t2 + lamb2*agree_ideal_par2_t2 + lamb3*agree_ideal_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsagree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 d_agree_1 ~~ agree_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableagree_ideal_par1_t1 ~~ agree_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_ideal_par2_t1 ~~ agree_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_ideal_par3_t1 ~~ agree_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_ideal_par1_t1 ~~ res1*agree_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 agree_ideal_par2_t1 ~~ res2*agree_ideal_par2_t1 # This allows residual variance on indicator X2 at T1agree_ideal_par3_t1 ~~ res3*agree_ideal_par3_t1 # This allows residual variance on indicator X3 at T1agree_ideal_par1_t2 ~~ res1*agree_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 agree_ideal_par2_t2 ~~ res2*agree_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 agree_ideal_par3_t2 ~~ res3*agree_ideal_par3_t2 # This allows residual variance on indicator X3 at T2agree_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_agree_ideal_hyp4 <-lavaan(mi_lcs_agree_ideal_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_ideal_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_curr_specif_hyp4 <-'agree_t1 =~ 1*agree_curr_par1_t1 + lamb2*agree_curr_par2_t1 + lamb3*agree_curr_par3_t1 # This specifies the measurement model for agree_t1agree_t2 =~ 1*agree_curr_par1_t2 + lamb2*agree_curr_par2_t2 + lamb3*agree_curr_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_04_t1 + sb07_05_t1 + sb07_06_t1 # latent change goal variable (three facets per trait)agree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 d_agree_1 ~~ agree_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableagree_curr_par1_t1 ~~ agree_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_curr_par2_t1 ~~ agree_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_curr_par3_t1 ~~ agree_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_curr_par1_t1 ~~ res1*agree_curr_par1_t1 # This allows residual variance on indicator X1 at T1 agree_curr_par2_t1 ~~ res2*agree_curr_par2_t1 # This allows residual variance on indicator X2 at T1agree_curr_par3_t1 ~~ res3*agree_curr_par3_t1 # This allows residual variance on indicator X3 at T1agree_curr_par1_t2 ~~ res1*agree_curr_par1_t2 # This allows residual variance on indicator X1 at T2 agree_curr_par2_t2 ~~ res2*agree_curr_par2_t2 # This allows residual variance on indicator X2 at T2 agree_curr_par3_t2 ~~ res3*agree_curr_par3_t2 # This allows residual variance on indicator X3 at T2agree_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_04_t1 ~~ sb07_04_t1sb07_05_t1 ~~ sb07_05_t1sb07_06_t1 ~~ sb07_06_t1sb07_04_t1 ~ 1sb07_05_t1 ~ 1sb07_06_t1 ~ 1'fit_mi_lcs_agree_curr_specif_hyp4 <-lavaan(mi_lcs_agree_curr_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with agreeableness change score (current-self) is not significantly different from zero, r = 0.028, p = 0.762.
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_ideal_specif_hyp4 <-'agree_t1 =~ 1*agree_ideal_par1_t1 + lamb2*agree_ideal_par2_t1 + lamb3*agree_ideal_par3_t1 # This specifies the measurement model for agree_t1 agree_t2 =~ 1*agree_ideal_par1_t2 + lamb2*agree_ideal_par2_t2 + lamb3*agree_ideal_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_04_t1 + sb07_05_t1 + sb07_06_t1 # latent change goal variable (three facets per trait)agree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 d_agree_1 ~~ agree_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableagree_ideal_par1_t1 ~~ agree_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_ideal_par2_t1 ~~ agree_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_ideal_par3_t1 ~~ agree_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_ideal_par1_t1 ~~ res1*agree_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 agree_ideal_par2_t1 ~~ res2*agree_ideal_par2_t1 # This allows residual variance on indicator X2 at T1agree_ideal_par3_t1 ~~ res3*agree_ideal_par3_t1 # This allows residual variance on indicator X3 at T1agree_ideal_par1_t2 ~~ res1*agree_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 agree_ideal_par2_t2 ~~ res2*agree_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 agree_ideal_par3_t2 ~~ res3*agree_ideal_par3_t2 # This allows residual variance on indicator X3 at T2agree_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_04_t1 ~~ sb07_04_t1sb07_05_t1 ~~ sb07_05_t1sb07_06_t1 ~~ sb07_06_t1sb07_04_t1 ~ 1sb07_05_t1 ~ 1sb07_06_t1 ~ 1'fit_mi_lcs_agree_ideal_specif_hyp4 <-lavaan(mi_lcs_agree_ideal_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_ideal_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with agreeableness change score (ideal-self) is not significantly different from zero, r = -0.113, p = 0.171.
6.4.1.9 Conscientiousness - current-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_curr_hyp4 <-'consc_t1 =~ 1*consc_curr_par1_t1 + lamb2*consc_curr_par2_t1 + lamb3*consc_curr_par3_t1 # This specifies the measurement model for consc_t1 consc_t2 =~ 1*consc_curr_par1_t2 + lamb2*consc_curr_par2_t2 + lamb3*consc_curr_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsconsc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableconsc_curr_par1_t1 ~~ consc_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_curr_par2_t1 ~~ consc_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_curr_par3_t1 ~~ consc_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_curr_par1_t1 ~~ res1*consc_curr_par1_t1 # This allows residual variance on indicator X1 at T1 consc_curr_par2_t1 ~~ res2*consc_curr_par2_t1 # This allows residual variance on indicator X2 at T1consc_curr_par3_t1 ~~ res3*consc_curr_par3_t1 # This allows residual variance on indicator X3 at T1consc_curr_par1_t2 ~~ res1*consc_curr_par1_t2 # This allows residual variance on indicator X1 at T2 consc_curr_par2_t2 ~~ res2*consc_curr_par2_t2 # This allows residual variance on indicator X2 at T2 consc_curr_par3_t2 ~~ res3*consc_curr_par3_t2 # This allows residual variance on indicator X3 at T2consc_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_consc_curr_hyp4 <-lavaan(mi_lcs_consc_curr_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
Correlation of general change goal with conscientiousness change score (current-self) is not significantly different from zero, r = 0.021, p = 0.756.
6.4.1.10 Conscientiousness - ideal-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_ideal_hyp4 <-'consc_t1 =~ 1*consc_ideal_par1_t1 + lamb2*consc_ideal_par2_t1 + lamb3*consc_ideal_par3_t1 # This specifies the measurement model for consc_t1consc_t2 =~ 1*consc_ideal_par1_t2 + lamb2*consc_ideal_par2_t2 + lamb3*consc_ideal_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsconsc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableconsc_ideal_par1_t1 ~~ consc_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_ideal_par2_t1 ~~ consc_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_ideal_par3_t1 ~~ consc_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_ideal_par1_t1 ~~ res1*consc_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 consc_ideal_par2_t1 ~~ res2*consc_ideal_par2_t1 # This allows residual variance on indicator X2 at T1consc_ideal_par3_t1 ~~ res3*consc_ideal_par3_t1 # This allows residual variance on indicator X3 at T1consc_ideal_par1_t2 ~~ res1*consc_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 consc_ideal_par2_t2 ~~ res2*consc_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 consc_ideal_par3_t2 ~~ res3*consc_ideal_par3_t2 # This allows residual variance on indicator X3 at T2consc_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_consc_ideal_hyp4 <-lavaan(mi_lcs_consc_ideal_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_ideal_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_curr_specif_hyp4 <-'consc_t1 =~ 1*consc_curr_par1_t1 + lamb2*consc_curr_par2_t1 + lamb3*consc_curr_par3_t1 # This specifies the measurement model for consc_t1 consc_t2 =~ 1*consc_curr_par1_t2 + lamb2*consc_curr_par2_t2 + lamb3*consc_curr_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_07_t1 + sb07_08_t1 + sb07_09_t1 # latent change goal variable (three facets per trait)consc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableconsc_curr_par1_t1 ~~ consc_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_curr_par2_t1 ~~ consc_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_curr_par3_t1 ~~ consc_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_curr_par1_t1 ~~ res1*consc_curr_par1_t1 # This allows residual variance on indicator X1 at T1 consc_curr_par2_t1 ~~ res2*consc_curr_par2_t1 # This allows residual variance on indicator X2 at T1consc_curr_par3_t1 ~~ res3*consc_curr_par3_t1 # This allows residual variance on indicator X3 at T1consc_curr_par1_t2 ~~ res1*consc_curr_par1_t2 # This allows residual variance on indicator X1 at T2 consc_curr_par2_t2 ~~ res2*consc_curr_par2_t2 # This allows residual variance on indicator X2 at T2 consc_curr_par3_t2 ~~ res3*consc_curr_par3_t2 # This allows residual variance on indicator X3 at T2consc_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_07_t1 ~~ sb07_07_t1sb07_08_t1 ~~ sb07_08_t1sb07_09_t1 ~~ sb07_09_t1sb07_07_t1 ~ 1sb07_08_t1 ~ 1sb07_09_t1 ~ 1'fit_mi_lcs_consc_curr_specif_hyp4 <-lavaan(mi_lcs_consc_curr_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with conscientiousness change score (current-self) is not significantly different from zero, r = -0.068, p = 0.405.
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_ideal_specif_hyp4 <-'consc_t1 =~ 1*consc_ideal_par1_t1 + lamb2*consc_ideal_par2_t1 + lamb3*consc_ideal_par3_t1 # This specifies the measurement model for consc_t1consc_t2 =~ 1*consc_ideal_par1_t2 + lamb2*consc_ideal_par2_t2 + lamb3*consc_ideal_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_07_t1 + sb07_08_t1 + sb07_09_t1 # latent change goal variable (three facets per trait)consc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableconsc_ideal_par1_t1 ~~ consc_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_ideal_par2_t1 ~~ consc_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_ideal_par3_t1 ~~ consc_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_ideal_par1_t1 ~~ res1*consc_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 consc_ideal_par2_t1 ~~ res2*consc_ideal_par2_t1 # This allows residual variance on indicator X2 at T1consc_ideal_par3_t1 ~~ res3*consc_ideal_par3_t1 # This allows residual variance on indicator X3 at T1consc_ideal_par1_t2 ~~ res1*consc_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 consc_ideal_par2_t2 ~~ res2*consc_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 consc_ideal_par3_t2 ~~ res3*consc_ideal_par3_t2 # This allows residual variance on indicator X3 at T2consc_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_07_t1 ~~ sb07_07_t1sb07_08_t1 ~~ sb07_08_t1sb07_09_t1 ~~ sb07_09_t1sb07_07_t1 ~ 1sb07_08_t1 ~ 1sb07_09_t1 ~ 1'fit_mi_lcs_consc_ideal_specif_hyp4 <-lavaan(mi_lcs_consc_ideal_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_ideal_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with conscientiousness change score (ideal-self) is not significantly different from zero, r = -0.024, p = 0.732.
6.4.1.13 Neuroticism - current-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_curr_hyp4 <-'neuro_t1 =~ 1*neuro_curr_par1_t1 + lamb2*neuro_curr_par2_t1 + lamb3*neuro_curr_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_curr_par1_t2 + lamb2*neuro_curr_par2_t2 + lamb3*neuro_curr_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsneuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableneuro_curr_par1_t1 ~~ neuro_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_curr_par2_t1 ~~ neuro_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_curr_par3_t1 ~~ neuro_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_curr_par1_t1 ~~ res1*neuro_curr_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_curr_par2_t1 ~~ res2*neuro_curr_par2_t1 # This allows residual variance on indicator X2 at T1neuro_curr_par3_t1 ~~ res3*neuro_curr_par3_t1 # This allows residual variance on indicator X3 at T1neuro_curr_par1_t2 ~~ res1*neuro_curr_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_curr_par2_t2 ~~ res2*neuro_curr_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_curr_par3_t2 ~~ res3*neuro_curr_par3_t2 # This allows residual variance on indicator X3 at T2neuro_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_neuro_curr_hyp4 <-lavaan(mi_lcs_neuro_curr_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
Correlation of general change goal with neuroticism change score (current-self) is not significantly different from zero, r = -0.092, p = 0.13.
6.4.1.14 Neuroticism - ideal-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_ideal_hyp4 <-'neuro_t1 =~ 1*neuro_ideal_par1_t1 + lamb2*neuro_ideal_par2_t1 + lamb3*neuro_ideal_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_ideal_par1_t2 + lamb2*neuro_ideal_par2_t2 + lamb3*neuro_ideal_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsneuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableneuro_ideal_par1_t1 ~~ neuro_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_ideal_par2_t1 ~~ neuro_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_ideal_par3_t1 ~~ neuro_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_ideal_par1_t1 ~~ res1*neuro_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_ideal_par2_t1 ~~ res2*neuro_ideal_par2_t1 # This allows residual variance on indicator X2 at T1neuro_ideal_par3_t1 ~~ res3*neuro_ideal_par3_t1 # This allows residual variance on indicator X3 at T1neuro_ideal_par1_t2 ~~ res1*neuro_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_ideal_par2_t2 ~~ res2*neuro_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_ideal_par3_t2 ~~ res3*neuro_ideal_par3_t2 # This allows residual variance on indicator X3 at T2neuro_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_neuro_ideal_hyp4 <-lavaan(mi_lcs_neuro_ideal_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_ideal_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_curr_specif_hyp4 <-'neuro_t1 =~ 1*neuro_curr_par1_t1 + lamb2*neuro_curr_par2_t1 + lamb3*neuro_curr_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_curr_par1_t2 + lamb2*neuro_curr_par2_t2 + lamb3*neuro_curr_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_10_t1 + sb07_11_t1 + sb07_12_t1 # latent change goal variable (three facets per trait)neuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableneuro_curr_par1_t1 ~~ neuro_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_curr_par2_t1 ~~ neuro_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_curr_par3_t1 ~~ neuro_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_curr_par1_t1 ~~ res1*neuro_curr_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_curr_par2_t1 ~~ res2*neuro_curr_par2_t1 # This allows residual variance on indicator X2 at T1neuro_curr_par3_t1 ~~ res3*neuro_curr_par3_t1 # This allows residual variance on indicator X3 at T1neuro_curr_par1_t2 ~~ res1*neuro_curr_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_curr_par2_t2 ~~ res2*neuro_curr_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_curr_par3_t2 ~~ res3*neuro_curr_par3_t2 # This allows residual variance on indicator X3 at T2neuro_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_10_t1 ~~ sb07_10_t1sb07_11_t1 ~~ sb07_11_t1sb07_12_t1 ~~ sb07_12_t1sb07_10_t1 ~ 1sb07_11_t1 ~ 1sb07_12_t1 ~ 1'fit_mi_lcs_neuro_curr_specif_hyp4 <-lavaan(mi_lcs_neuro_curr_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
The correlation of specific, facet-level change goals with neuroticism change score (current-self) is significantly different from zero, r = 0.213, p = 0.01.
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_ideal_specif_hyp4 <-'neuro_t1 =~ 1*neuro_ideal_par1_t1 + lamb2*neuro_ideal_par2_t1 + lamb3*neuro_ideal_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_ideal_par1_t2 + lamb2*neuro_ideal_par2_t2 + lamb3*neuro_ideal_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_10_t1 + sb07_11_t1 + sb07_12_t1 # latent change goal variable (three facets per trait)neuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableneuro_ideal_par1_t1 ~~ neuro_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_ideal_par2_t1 ~~ neuro_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_ideal_par3_t1 ~~ neuro_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_ideal_par1_t1 ~~ res1*neuro_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_ideal_par2_t1 ~~ res2*neuro_ideal_par2_t1 # This allows residual variance on indicator X2 at T1neuro_ideal_par3_t1 ~~ res3*neuro_ideal_par3_t1 # This allows residual variance on indicator X3 at T1neuro_ideal_par1_t2 ~~ res1*neuro_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_ideal_par2_t2 ~~ res2*neuro_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_ideal_par3_t2 ~~ res3*neuro_ideal_par3_t2 # This allows residual variance on indicator X3 at T2neuro_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_10_t1 ~~ sb07_10_t1sb07_11_t1 ~~ sb07_11_t1sb07_12_t1 ~~ sb07_12_t1sb07_10_t1 ~ 1sb07_11_t1 ~ 1sb07_12_t1 ~ 1'fit_mi_lcs_neuro_ideal_specif_hyp4 <-lavaan(mi_lcs_neuro_ideal_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_ideal_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with neuroticism change score (ideal-self) is not significantly different from zero, r = 0.006, p = 0.934.
6.4.1.17 Openness - current-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_curr_hyp4 <-'openn_t1 =~ 1*openn_curr_par1_t1 + lamb2*openn_curr_par2_t1 + lamb3*openn_curr_par3_t1 # This specifies the measurement model for openn_t1openn_t2 =~ 1*openn_curr_par1_t2 + lamb2*openn_curr_par2_t2 + lamb3*openn_curr_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsopenn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableopenn_curr_par1_t1 ~~ openn_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_curr_par2_t1 ~~ openn_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_curr_par3_t1 ~~ openn_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_curr_par1_t1 ~~ res1*openn_curr_par1_t1 # This allows residual variance on indicator X1 at T1 openn_curr_par2_t1 ~~ res2*openn_curr_par2_t1 # This allows residual variance on indicator X2 at T1openn_curr_par3_t1 ~~ res3*openn_curr_par3_t1 # This allows residual variance on indicator X3 at T1openn_curr_par1_t2 ~~ res1*openn_curr_par1_t2 # This allows residual variance on indicator X1 at T2 openn_curr_par2_t2 ~~ res2*openn_curr_par2_t2 # This allows residual variance on indicator X2 at T2 openn_curr_par3_t2 ~~ res3*openn_curr_par3_t2 # This allows residual variance on indicator X3 at T2openn_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_openn_curr_hyp4 <-lavaan(mi_lcs_openn_curr_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
Correlation of general change goal with openness change score (current-self) is not significantly different from zero, r = -0.068, p = 0.474.
6.4.1.18 Openness - ideal-self: general change goals
Fit model:
Show the code
# adding correlation with manifest change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_ideal_hyp4 <-'openn_t1 =~ 1*openn_ideal_par1_t1 + lamb2*openn_ideal_par2_t1 + lamb3*openn_ideal_par3_t1 # This specifies the measurement model for openn_t1 openn_t2 =~ 1*openn_ideal_par1_t2 + lamb2*openn_ideal_par2_t2 + lamb3*openn_ideal_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsopenn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variableopenn_ideal_par1_t1 ~~ openn_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_ideal_par2_t1 ~~ openn_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_ideal_par3_t1 ~~ openn_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_ideal_par1_t1 ~~ res1*openn_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 openn_ideal_par2_t1 ~~ res2*openn_ideal_par2_t1 # This allows residual variance on indicator X2 at T1openn_ideal_par3_t1 ~~ res3*openn_ideal_par3_t1 # This allows residual variance on indicator X3 at T1openn_ideal_par1_t2 ~~ res1*openn_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 openn_ideal_par2_t2 ~~ res2*openn_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 openn_ideal_par3_t2 ~~ res3*openn_ideal_par3_t2 # This allows residual variance on indicator X3 at T2openn_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_openn_ideal_hyp4 <-lavaan(mi_lcs_openn_ideal_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_ideal_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb06_01_t1 = general change goal):
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_curr_specif_hyp4 <-'openn_t1 =~ 1*openn_curr_par1_t1 + lamb2*openn_curr_par2_t1 + lamb3*openn_curr_par3_t1 # This specifies the measurement model for openn_t1openn_t2 =~ 1*openn_curr_par1_t2 + lamb2*openn_curr_par2_t2 + lamb3*openn_curr_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_13_t1 + sb07_14_t1 + sb07_15_t1 # latent change goal variable (three facets per trait)openn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableopenn_curr_par1_t1 ~~ openn_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_curr_par2_t1 ~~ openn_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_curr_par3_t1 ~~ openn_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_curr_par1_t1 ~~ res1*openn_curr_par1_t1 # This allows residual variance on indicator X1 at T1 openn_curr_par2_t1 ~~ res2*openn_curr_par2_t1 # This allows residual variance on indicator X2 at T1openn_curr_par3_t1 ~~ res3*openn_curr_par3_t1 # This allows residual variance on indicator X3 at T1openn_curr_par1_t2 ~~ res1*openn_curr_par1_t2 # This allows residual variance on indicator X1 at T2 openn_curr_par2_t2 ~~ res2*openn_curr_par2_t2 # This allows residual variance on indicator X2 at T2 openn_curr_par3_t2 ~~ res3*openn_curr_par3_t2 # This allows residual variance on indicator X3 at T2openn_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_13_t1 ~~ sb07_13_t1sb07_14_t1 ~~ sb07_14_t1sb07_15_t1 ~~ sb07_15_t1sb07_13_t1 ~ 1sb07_14_t1 ~ 1sb07_15_t1 ~ 1'fit_mi_lcs_openn_curr_specif_hyp4 <-lavaan(mi_lcs_openn_curr_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
The correlation of specific, facet-level change goals with openness change score (current-self) is significantly different from zero, r = 0.225, p = 0.025.
# adding correlation with latent (made up of the three facets) change goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_ideal_specif_hyp4 <-'openn_t1 =~ 1*openn_ideal_par1_t1 + lamb2*openn_ideal_par2_t1 + lamb3*openn_ideal_par3_t1 # This specifies the measurement model for openn_t1 openn_t2 =~ 1*openn_ideal_par1_t2 + lamb2*openn_ideal_par2_t2 + lamb3*openn_ideal_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsgoals =~ 1*sb07_13_t1 + sb07_14_t1 + sb07_15_t1 # latent change goal variable (three facets per trait)openn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ goals # estimates the covariance/correlation with the (latent) change goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) change goal variable to 0goals ~~ goals # This estimates the variance of the (latent) change goal variableopenn_ideal_par1_t1 ~~ openn_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_ideal_par2_t1 ~~ openn_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_ideal_par3_t1 ~~ openn_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_ideal_par1_t1 ~~ res1*openn_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 openn_ideal_par2_t1 ~~ res2*openn_ideal_par2_t1 # This allows residual variance on indicator X2 at T1openn_ideal_par3_t1 ~~ res3*openn_ideal_par3_t1 # This allows residual variance on indicator X3 at T1openn_ideal_par1_t2 ~~ res1*openn_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 openn_ideal_par2_t2 ~~ res2*openn_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 openn_ideal_par3_t2 ~~ res3*openn_ideal_par3_t2 # This allows residual variance on indicator X3 at T2openn_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb07_13_t1 ~~ sb07_13_t1sb07_14_t1 ~~ sb07_14_t1sb07_15_t1 ~~ sb07_15_t1sb07_13_t1 ~ 1sb07_14_t1 ~ 1sb07_15_t1 ~ 1'fit_mi_lcs_openn_ideal_specif_hyp4 <-lavaan(mi_lcs_openn_ideal_specif_hyp4, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_ideal_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific change goal):
Correlation of specific, facet-level change goals with openness change score (ideal-self) is not significantly different from zero, r = 0.129, p = 0.166.
6.4.2 Big Five facets
Run models for all facets with a template & loop:
Show the code
# create template:facet_template <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_facet_1 ~~ ind_goal # estimates the covariance/correlation with change goal variableind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ind_goal ~~ ind_goalind_goal ~ 1'# loop across 15 facetsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# loop across 2 BFI versions (combined pre&post current/ideal)for (j in5:length(bfi_versions)) { items =paste0(bfi_versions[[j]], item_nrs)# loop across 2 different goal operationalizations (sb06_01_t1 & sb07_XX_t1)for (k in1:2) {if (k==1) { goal_op ="sb06_01_t1" } else{ goal_op =paste0("sb07_", str_pad(i-5, 2, pad ="0"), "_t1") } template_filled <-str_replace_all(facet_template, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= goal_op)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb, estimator='mlr', fixed.x=FALSE, missing='fiml')# save to environmentif (k==1) {eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_hyp4")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_hyp4")), facet_model_fit)) } else{eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_specif_hyp4")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_specif_hyp4")), facet_model_fit)) } } }}
6.4.2.1 Sociability - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with sociability change score (current-self) is not significantly different from zero, r = -0.071, p = 0.332.
The correlation of specific, facet-level change goals with the anxiety change score (ideal-self) is (barely) significantly different from zero, r = 0.231, p = 0.035.
6.4.2.5 Assertiveness - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with assertiveness change score (current-self) is not significantly different from zero, r = 0.046, p = 0.668.
Correlation of specific, facet-level change goals with assertiveness change score (ideal-self) is not significantly different from zero, r = 0.061, p = 0.489.
6.4.2.9 Energy - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with energy change score (current-self) is not significantly different from zero, r = 0.092, p = 0.26.
6.4.2.12 Energy - ideal-self: specific, facet-level change goals
Results summary (sb07_xx_t1 = trait/facet specific change goal):
Correlation of specific, facet-level change goals with energy change score (ideal-self) is not significantly different from zero, r = 0.079, p = 0.413.
6.4.2.13 Compassion - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with compassion change score (current-self) is not significantly different from zero, r = -0.012, p = 0.924.
Correlation of specific, facet-level change goals with compassion change score (ideal-self) is not significantly different from zero, r = -0.051, p = 0.556.
6.4.2.17 Respectfulness - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with respectfulness change score (current-self) is not significantly different from zero, r = 0.026, p = 0.761.
The correlation of specific, facet-level change goals with the respectfulness change score (ideal-self) is (barely) significantly different from zero, r = -0.138, p = 0.049.
6.4.2.21 Trust - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with trust change score (current-self) is not significantly different from zero, r = -0.007, p = 0.944.
Correlation of specific, facet-level change goals with organization change score (current-self) is not significantly different from zero, r = 0.13, p = 0.136.
Correlation of specific, facet-level change goals with organization change score (ideal-self) is not significantly different from zero, r = 0.102, p = 0.209.
6.4.2.29 Productiveness - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with productiveness change score (current-self) is not significantly different from zero, r = 0.106, p = 0.218.
Correlation of specific, facet-level change goals with productiveness change score (ideal-self) is not significantly different from zero, r = 0.008, p = 0.903.
6.4.2.33 Responsibility - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with responsibility change score (current-self) is not significantly different from zero, r = -0.186, p = 0.068.
Correlation of specific, facet-level change goals with responsibility change score (ideal-self) is not significantly different from zero, r = 0.025, p = 0.801.
6.4.2.37 Anxiety - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
The correlation of specific, facet-level change goals with the anxiety change score (current-self) is significantly different from zero, r = -0.244, p = 0.002.
Correlation of specific, facet-level change goals with anxiety change score (ideal-self) is not significantly different from zero, r = 0.031, p = 0.65.
6.4.2.41 Depression - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
The correlation of specific, facet-level change goals with the depression change score (current-self) is significantly different from zero, r = -0.282, p = 0.002.
Correlation of specific, facet-level change goals with the depression change score (ideal-self) is not significantly different from zero, r = -0.063, p = 0.328.
6.4.2.45 Volatility - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with volatility change score (current-self) is not significantly different from zero, r = 0.025, p = 0.748.
Correlation of specific, facet-level change goals with volatility change score (ideal-self) is not significantly different from zero, r = -0.012, p = 0.902.
6.4.2.49 Curiosity - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with curiosity change score (current-self) is not significantly different from zero, r = -0.114, p = 0.429.
Correlation of specific, facet-level change goals with curiosity change score (ideal-self) is not significantly different from zero, r = 0.227, p = 0.868.
6.4.2.53 Aesthetic - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
(here there were some convergence problems with the standard model that the loop tried to fit)
mi_lcs_aesth_curr_hyp4 <-'aesth_t1 =~ 1*bf05_05_t1 + lamb2*bf05_20_t1 + lamb3*bf05_35_t1 + lamb4*bf05_50_t1 # This specifies the measurement model for aesth at T1aesth_t2 =~ 1*bf05_05_t2 + lamb2*bf05_20_t2 + lamb3*bf05_35_t2 + lamb4*bf05_50_t2 # This specifies the measurement model for aesth at T2 (with equality constraints)aesth_t2 ~ 1*aesth_t1 # This parameter regresses aesth_t2 perfectly on aesth_t1d_aesth_1 =~ 1*aesth_t2 # This defines the latent change score factor as measured perfectly by scores on aesth_t2aesth_t2 ~ 0*1 # This line constrains the intercept of aesth_t2 to 0aesth_t2 ~~ 0*aesth_t2 # This fixes the variance of aesth_t2 to 0d_aesth_1 ~ 1 # This estimates the intercept of the change score aesth_t1 ~ 1 # This estimates the intercept of aesth_t1 d_aesth_1 ~~ d_aesth_1 # This estimates the variance of the change scores aesth_t1 ~~ aesth_t1 # This estimates the variance of aesth_t1 aesth_t1 ~~ d_aesth_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_aesth_1 ~~ sb06_01_t1 # estimates the covariance/correlation with change goal variablebf05_05_t1 ~~ bf05_05_t2 # This allows residual covariance on indicator X1 across T1 and T2bf05_20_t1 ~~ bf05_20_t2 # This allows residual covariance on indicator X2 across T1 and T2bf05_35_t1 ~~ bf05_35_t2 # This allows residual covariance on indicator X3 across T1 and T2bf05_50_t1 ~~ bf05_50_t2 # This allows residual covariance on indicator X4 across T1 and T2bf05_05_t1 ~~ res1*bf05_05_t1 # This allows residual variance on indicator X1 at T1 bf05_20_t1 ~~ res2*bf05_20_t1 # This allows residual variance on indicator X2 at T1bf05_35_t1 ~~ res3*bf05_35_t1 # This allows residual variance on indicator X3 at T1bf05_50_t1 ~~ res4*bf05_50_t1 # This allows residual variance on indicator X4 at T1bf05_05_t2 ~~ res1*bf05_05_t2 # This allows residual variance on indicator X1 at T2 bf05_20_t2 ~~ res2*bf05_20_t2 # This allows residual variance on indicator X2 at T2 bf05_35_t2 ~~ res3*bf05_35_t2 # This allows residual variance on indicator X3 at T2bf05_50_t2 ~~ res4*bf05_50_t2 # This allows residual variance on indicator X4 at T2bf05_05_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1bf05_20_t1 ~ m2*1 # This estimates the intercept of X2 at T1bf05_35_t1 ~ m3*1 # This estimates the intercept of X3 at T1bf05_50_t1 ~ m4*1 # This estimates the intercept of X4 at T1bf05_05_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2bf05_20_t2 ~ m2*1 # This estimates the intercept of X2 at T2bf05_35_t2 ~ m3*1 # This estimates the intercept of X3 at T2bf05_50_t2 ~ m4*1 # This estimates the intercept of X4 at T2sb06_01_t1 ~~ sb06_01_t1sb06_01_t1 ~ 1'fit_mi_lcs_aesth_curr_hyp4 <-lavaan(mi_lcs_aesth_curr_hyp4, data=df_sbsa_wide_pers_sb %>%filter(!is.na(bf05_05_t1) &!is.na(bf05_05_t2)), estimator='mlr', fixed.x=FALSE, missing="fiml")# This model did not converge properly with FIML and missings. No problem with complete data, though. summary(fit_mi_lcs_aesth_curr_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sb07_xx_t1 = trait/facet specific change goal): (here there were some convergence problems with the standard model that the loop tried to fit)
mi_lcs_aesth_curr_specif_hyp4 <-'aesth_t1 =~ 1*bf05_05_t1 + lamb2*bf05_20_t1 + lamb3*bf05_35_t1 + lamb4*bf05_50_t1 # This specifies the measurement model for aesth at T1aesth_t2 =~ 1*bf05_05_t2 + lamb2*bf05_20_t2 + lamb3*bf05_35_t2 + lamb4*bf05_50_t2 # This specifies the measurement model for aesth at T2 (with equality constraints)aesth_t2 ~ 1*aesth_t1 # This parameter regresses aesth_t2 perfectly on aesth_t1d_aesth_1 =~ 1*aesth_t2 # This defines the latent change score factor as measured perfectly by scores on aesth_t2aesth_t2 ~ 0*1 # This line constrains the intercept of aesth_t2 to 0aesth_t2 ~~ 0*aesth_t2 # This fixes the variance of aesth_t2 to 0d_aesth_1 ~ 1 # This estimates the intercept of the change score aesth_t1 ~ 1 # This estimates the intercept of aesth_t1 d_aesth_1 ~~ d_aesth_1 # This estimates the variance of the change scores aesth_t1 ~~ d_aesth_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_aesth_1 ~~ sb07_14_t1 # estimates the covariance/correlation with change goal variablebf05_05_t1 ~~ bf05_05_t2 # This allows residual covariance on indicator X1 across T1 and T2bf05_20_t1 ~~ bf05_20_t2 # This allows residual covariance on indicator X2 across T1 and T2bf05_35_t1 ~~ bf05_35_t2 # This allows residual covariance on indicator X3 across T1 and T2bf05_50_t1 ~~ bf05_50_t2 # This allows residual covariance on indicator X4 across T1 and T2bf05_05_t1 ~~ res1*bf05_05_t1 # This allows residual variance on indicator X1 at T1 bf05_20_t1 ~~ res2*bf05_20_t1 # This allows residual variance on indicator X2 at T1bf05_35_t1 ~~ res3*bf05_35_t1 # This allows residual variance on indicator X3 at T1bf05_50_t1 ~~ res4*bf05_50_t1 # This allows residual variance on indicator X4 at T1bf05_05_t2 ~~ res1*bf05_05_t2 # This allows residual variance on indicator X1 at T2 bf05_20_t2 ~~ res2*bf05_20_t2 # This allows residual variance on indicator X2 at T2 bf05_35_t2 ~~ res3*bf05_35_t2 # This allows residual variance on indicator X3 at T2bf05_50_t2 ~~ res4*bf05_50_t2 # This allows residual variance on indicator X4 at T2bf05_05_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1bf05_20_t1 ~ m2*1 # This estimates the intercept of X2 at T1bf05_35_t1 ~ m3*1 # This estimates the intercept of X3 at T1bf05_50_t1 ~ m4*1 # This estimates the intercept of X4 at T1bf05_05_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2bf05_20_t2 ~ m2*1 # This estimates the intercept of X2 at T2bf05_35_t2 ~ m3*1 # This estimates the intercept of X3 at T2bf05_50_t2 ~ m4*1 # This estimates the intercept of X4 at T2sb07_14_t1 ~~ sb07_14_t1sb07_14_t1 ~ 1'fit_mi_lcs_aesth_curr_specif_hyp4 <-lavaan(mi_lcs_aesth_curr_specif_hyp4, data=df_sbsa_wide_pers_sb %>%filter(!is.na(bf05_05_t1) &!is.na(bf05_05_t2)), estimator='mlr', fixed.x=FALSE, missing="fiml")
Warning in lav_object_post_check(object): lavaan WARNING: covariance matrix of latent variables
is not positive definite;
use lavInspect(fit, "cov.lv") to investigate.
# This model did not converge properly with missing data and FIML -> no problem when only using complete datasummary(fit_mi_lcs_aesth_curr_specif_hyp4, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Correlation of specific, facet-level change goals with aesthetic change score (current-self) is not significantly different from zero, r = 0.179, p = 0.368.
Correlation of specific, facet-level change goals with aesthetic change score (ideal-self) is not significantly different from zero, r = 0.232, p = 0.137.
6.4.2.57 Imagination - current-self: general change goals
Results summary (sb06_01_t1 = general change goal):
Correlation of specific, facet-level change goals with imagination change score (current-self) is not significantly different from zero, r = 0.069, p = 0.459.
Correlation of specific, facet-level change goals with imagination change score (ideal-self) is not significantly different from zero, r = -0.019, p = 0.774.
Results summary across the Big Five traits: covariance of the latent change score and change goal(s)
kable(df_table_hyp4[1:20, ], digits =3)
trait
ref
goal
estimate
std.all
statistic
p.value
extraversion
current
general
0.064
0.187
2.423
0.015
extraversion
ideal
general
0.061
0.203
2.245
0.025
extraversion
current
specific
0.008
0.048
0.458
0.647
extraversion
ideal
specific
0.026
0.173
0.948
0.343
agreeableness
current
general
-0.014
-0.064
-0.805
0.421
agreeableness
ideal
general
0.016
0.058
0.742
0.458
agreeableness
current
specific
0.004
0.028
0.303
0.762
agreeableness
ideal
specific
-0.020
-0.113
-1.368
0.171
conscientiousness
current
general
0.007
0.021
0.311
0.756
conscientiousness
ideal
general
0.011
0.032
0.444
0.657
conscientiousness
current
specific
-0.019
-0.068
-0.832
0.405
conscientiousness
ideal
specific
-0.006
-0.024
-0.343
0.732
neuroticism
current
general
-0.045
-0.092
-1.514
0.130
neuroticism
ideal
general
-0.029
-0.090
-1.267
0.205
neuroticism
current
specific
0.080
0.213
2.591
0.010
neuroticism
ideal
specific
0.001
0.006
0.083
0.934
openness
current
general
-0.013
-0.068
-0.717
0.474
openness
ideal
general
-0.014
-0.058
-0.622
0.534
openness
current
specific
0.021
0.225
2.242
0.025
openness
ideal
specific
0.016
0.129
1.386
0.166
Three covariances/correlations that significantly differ from zero:
- Changes in current-level and ideal-level extraversion covary with the general change goal.
- Changes in current-level neuroticism covary with the specific trait goals (latent factor of the three N facets).
- Changes in current-level openness covary with the specific trait goals (latent factor of the three O facets).
Results summary across the Big Five facets: covariance of the latent change score and change goal(s)
kable(df_table_hyp4[21:80, ], digits =3)
trait
ref
goal
estimate
std.all
statistic
p.value
sociability
current
general
0.088
0.170
2.159
0.031
sociability
ideal
general
0.048
0.203
1.727
0.084
sociability
current
specific
-0.038
-0.071
-0.970
0.332
sociability
ideal
specific
0.056
0.231
2.111
0.035
assertiveness
current
general
0.035
0.144
1.136
0.256
assertiveness
ideal
general
0.050
0.241
2.400
0.016
assertiveness
current
specific
0.011
0.046
0.428
0.668
assertiveness
ideal
specific
0.013
0.061
0.692
0.489
energy
current
general
-0.018
-0.084
-0.933
0.351
energy
ideal
general
-0.036
-0.140
-1.440
0.150
energy
current
specific
0.020
0.092
1.127
0.260
energy
ideal
specific
0.020
0.079
0.818
0.413
compassion
current
general
0.038
0.148
1.390
0.165
compassion
ideal
general
0.025
0.052
0.580
0.562
compassion
current
specific
-0.003
-0.012
-0.095
0.924
compassion
ideal
specific
-0.024
-0.051
-0.588
0.556
respectfulness
current
general
-0.035
-0.108
-1.351
0.177
respectfulness
ideal
general
0.008
0.025
0.341
0.733
respectfulness
current
specific
0.009
0.026
0.304
0.761
respectfulness
ideal
specific
-0.042
-0.138
-1.971
0.049
trust
current
general
-0.007
-0.020
-0.213
0.832
trust
ideal
general
-0.017
-0.067
-0.697
0.486
trust
current
specific
-0.002
-0.007
-0.071
0.944
trust
ideal
specific
0.013
0.055
0.573
0.566
organization
current
general
-0.075
-0.145
-1.822
0.068
organization
ideal
general
-0.016
-0.047
-0.577
0.564
organization
current
specific
0.070
0.130
1.492
0.136
organization
ideal
specific
0.034
0.102
1.256
0.209
productiveness
current
general
0.023
0.062
0.739
0.460
productiveness
ideal
general
0.010
0.030
0.381
0.703
productiveness
current
specific
0.041
0.106
1.233
0.218
productiveness
ideal
specific
0.003
0.008
0.122
0.903
responsibility
current
general
-0.038
-0.182
-1.757
0.079
responsibility
ideal
general
0.020
0.070
0.700
0.484
responsibility
current
specific
-0.041
-0.186
-1.826
0.068
responsibility
ideal
specific
0.007
0.025
0.252
0.801
anxiety
current
general
0.071
0.125
1.763
0.078
anxiety
ideal
general
0.003
0.015
0.185
0.853
anxiety
current
specific
-0.154
-0.244
-3.083
0.002
anxiety
ideal
specific
0.007
0.031
0.454
0.650
depression
current
general
0.025
0.068
0.956
0.339
depression
ideal
general
0.036
0.110
1.401
0.161
depression
current
specific
-0.115
-0.282
-3.059
0.002
depression
ideal
specific
-0.020
-0.063
-0.978
0.328
volatility
current
general
0.012
0.023
0.308
0.758
volatility
ideal
general
-0.068
-0.226
-2.172
0.030
volatility
current
specific
0.013
0.025
0.321
0.748
volatility
ideal
specific
-0.004
-0.012
-0.123
0.902
curiosity
current
general
-0.002
-0.009
-0.070
0.944
curiosity
ideal
general
0.009
0.352
0.368
0.713
curiosity
current
specific
-0.022
-0.114
-0.790
0.429
curiosity
ideal
specific
0.004
0.227
0.166
0.868
aesthetic
current
general
-0.002
-0.079
-0.927
0.354
aesthetic
ideal
general
-0.005
-0.072
-0.725
0.469
aesthetic
current
specific
0.022
0.179
0.900
0.368
aesthetic
ideal
specific
0.018
0.232
1.488
0.137
imagination
current
general
0.011
0.032
0.348
0.728
imagination
ideal
general
0.015
0.036
0.509
0.611
imagination
current
specific
0.024
0.069
0.740
0.459
imagination
ideal
specific
-0.008
-0.019
-0.288
0.774
Looking at the facets, we see a few covariances that significantly differ from zero:
- For sociability, changes in the current-level covary with the general change goal and changes in the ideal-level with the specific facet change goal (both effects barely significant).
- For assertiveness, changes in the ideal-level covary with the general change goal. - Matching the effects from neuroticism above, we find that changes in current-level anxiety and depression covary with the respective specific facet change goal. Changes in ideal-level volatility covary with the general change goal.
- Further, changes in ideal-level respectfulness covary with the specific facet change goal (small effect that is barely significant; in the right direction, though -> minus sign is because a reverse-keyed item was used as reference indicator).
- For anxiety and depression, changes in the current-level covary with the specific facet change goal.
- For volatility, changes in the ideal-level covary with the general change goal.
6.5 H5: Acceptance goals and change in personality (current / ideal) in self-acceptance group
In the self-acceptance group, there will be a correlation between acceptance goals and change in ideal-self ratings but not change in current-self ratings.
We will test this one domain/facet at a time. We will use both general continuous change goal score as well as trait-specific change goals. To test this hypothesis, we will estimate the mean-level difference across time for both current and ideal trait ratings using latent change models and correlate change goals with the change variable from those models.
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sa <- df_sbsa %>%filter(rando=="Self-Acceptance") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sa07")), # facet-specific change goals sa06_01) %>%# general change goalpivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with("sa07"), sa06_01)) %>%select(-c(sa07_01_t2, sa07_02_t2, sa07_03_t2, sa07_04_t2, sa07_05_t2, sa07_06_t2, sa07_07_t2, sa07_08_t2, sa07_09_t2, sa07_10_t2, sa07_11_t2, sa07_12_t2, sa07_13_t2, sa07_14_t2, sa07_15_t2, sa06_01_t2))# standardize goal variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sa <- df_sbsa_wide_pers_sa %>%mutate_at(c(colnames(df_sbsa_wide_pers_sa)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sa)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sa <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Acceptance") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sa)
6.5.1 Big Five traits
6.5.1.1 Extraversion - current-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_curr_hyp5 <-'extra_t1 =~ 1*extra_curr_par1_t1 + lamb2*extra_curr_par2_t1 + lamb3*extra_curr_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_curr_par1_t2 + lamb2*extra_curr_par2_t2 + lamb3*extra_curr_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsextra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 extra_t1 ~~ d_extra_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableextra_curr_par1_t1 ~~ extra_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_curr_par2_t1 ~~ extra_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_curr_par3_t1 ~~ extra_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_curr_par1_t1 ~~ res1*extra_curr_par1_t1 # This allows residual variance on indicator X1 at T1 extra_curr_par2_t1 ~~ res2*extra_curr_par2_t1 # This allows residual variance on indicator X2 at T1extra_curr_par3_t1 ~~ res3*extra_curr_par3_t1 # This allows residual variance on indicator X3 at T1extra_curr_par1_t2 ~~ res1*extra_curr_par1_t2 # This allows residual variance on indicator X1 at T2 extra_curr_par2_t2 ~~ res2*extra_curr_par2_t2 # This allows residual variance on indicator X2 at T2 extra_curr_par3_t2 ~~ res3*extra_curr_par3_t2 # This allows residual variance on indicator X3 at T2extra_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_extra_curr_hyp5 <-lavaan(mi_lcs_extra_curr_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_curr_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
The correlation of general acceptance goal with the extraversion change score (current-self) is significantly different from zero, r = 0.182, p = 0.001.
6.5.1.2 Extraversion - ideal-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_ideal_hyp5 <-'extra_t1 =~ 1*extra_ideal_par1_t1 + lamb2*extra_ideal_par2_t1 + lamb3*extra_ideal_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_ideal_par1_t2 + lamb2*extra_ideal_par2_t2 + lamb3*extra_ideal_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsextra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 extra_t1 ~~ d_extra_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableextra_ideal_par1_t1 ~~ extra_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_ideal_par2_t1 ~~ extra_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_ideal_par3_t1 ~~ extra_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_ideal_par1_t1 ~~ res1*extra_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 extra_ideal_par2_t1 ~~ res2*extra_ideal_par2_t1 # This allows residual variance on indicator X2 at T1extra_ideal_par3_t1 ~~ res3*extra_ideal_par3_t1 # This allows residual variance on indicator X3 at T1extra_ideal_par1_t2 ~~ res1*extra_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 extra_ideal_par2_t2 ~~ res2*extra_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 extra_ideal_par3_t2 ~~ res3*extra_ideal_par3_t2 # This allows residual variance on indicator X3 at T2extra_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_extra_ideal_hyp5 <-lavaan(mi_lcs_extra_ideal_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_ideal_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_curr_specif_hyp5 <-'extra_t1 =~ 1*extra_curr_par1_t1 + lamb2*extra_curr_par2_t1 + lamb3*extra_curr_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_curr_par1_t2 + lamb2*extra_curr_par2_t2 + lamb3*extra_curr_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_01_t1 + sa07_02_t1 + sa07_03_t1 # latent acceptance goal variable (three facets per trait)extra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 extra_t1 ~~ d_extra_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableextra_curr_par1_t1 ~~ extra_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_curr_par2_t1 ~~ extra_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_curr_par3_t1 ~~ extra_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_curr_par1_t1 ~~ res1*extra_curr_par1_t1 # This allows residual variance on indicator X1 at T1 extra_curr_par2_t1 ~~ res2*extra_curr_par2_t1 # This allows residual variance on indicator X2 at T1extra_curr_par3_t1 ~~ res3*extra_curr_par3_t1 # This allows residual variance on indicator X3 at T1extra_curr_par1_t2 ~~ res1*extra_curr_par1_t2 # This allows residual variance on indicator X1 at T2 extra_curr_par2_t2 ~~ res2*extra_curr_par2_t2 # This allows residual variance on indicator X2 at T2 extra_curr_par3_t2 ~~ res3*extra_curr_par3_t2 # This allows residual variance on indicator X3 at T2extra_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_01_t1 ~~ sa07_01_t1sa07_02_t1 ~~ sa07_02_t1sa07_03_t1 ~~ sa07_03_t1sa07_01_t1 ~ 1sa07_02_t1 ~ 1sa07_03_t1 ~ 1'fit_mi_lcs_extra_curr_specif_hyp5 <-lavaan(mi_lcs_extra_curr_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_curr_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with extraversion change score (current-self) is not significantly different from zero, r = 0.049, p = 0.62.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_extra_ideal_specif_hyp5 <-'extra_t1 =~ 1*extra_ideal_par1_t1 + lamb2*extra_ideal_par2_t1 + lamb3*extra_ideal_par3_t1 # This specifies the measurement model for extra_t1 extra_t2 =~ 1*extra_ideal_par1_t2 + lamb2*extra_ideal_par2_t2 + lamb3*extra_ideal_par3_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_01_t1 + sa07_02_t1 + sa07_03_t1 # latent acceptance goal variable (three facets per trait)extra_t2 ~ 1*extra_t1 # This parameter regresses extra_t2 perfectly on extra_t1d_extra_1 =~ 1*extra_t2 # This defines the latent change score factor as measured perfectly by scores on extra_t2extra_t2 ~ 0*1 # This line constrains the intercept of extra_t2 to 0extra_t2 ~~ 0*extra_t2 # This fixes the variance of extra_t2 to 0d_extra_1 ~ 1 # This estimates the intercept of the change score extra_t1 ~ 1 # This estimates the intercept of extra_t1 d_extra_1 ~~ d_extra_1 # This estimates the variance of the change scores extra_t1 ~~ extra_t1 # This estimates the variance of the extra_t1 extra_t1 ~~ d_extra_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_extra_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableextra_ideal_par1_t1 ~~ extra_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2extra_ideal_par2_t1 ~~ extra_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2extra_ideal_par3_t1 ~~ extra_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2extra_ideal_par1_t1 ~~ res1*extra_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 extra_ideal_par2_t1 ~~ res2*extra_ideal_par2_t1 # This allows residual variance on indicator X2 at T1extra_ideal_par3_t1 ~~ res3*extra_ideal_par3_t1 # This allows residual variance on indicator X3 at T1extra_ideal_par1_t2 ~~ res1*extra_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 extra_ideal_par2_t2 ~~ res2*extra_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 extra_ideal_par3_t2 ~~ res3*extra_ideal_par3_t2 # This allows residual variance on indicator X3 at T2extra_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1extra_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1extra_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1extra_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2extra_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2extra_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_01_t1 ~~ sa07_01_t1sa07_02_t1 ~~ sa07_02_t1sa07_03_t1 ~~ sa07_03_t1sa07_01_t1 ~ 1sa07_02_t1 ~ 1sa07_03_t1 ~ 1'fit_mi_lcs_extra_ideal_specif_hyp5 <-lavaan(mi_lcs_extra_ideal_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_extra_ideal_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with extraversion change score (ideal-self) is not significantly different from zero, r = -0.085, p = 0.365.
6.5.1.5 Agreeableness - current-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_curr_hyp5 <-'agree_t1 =~ 1*agree_curr_par1_t1 + lamb2*agree_curr_par2_t1 + lamb3*agree_curr_par3_t1 # This specifies the measurement model for agree_t1agree_t2 =~ 1*agree_curr_par1_t2 + lamb2*agree_curr_par2_t2 + lamb3*agree_curr_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsagree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 agree_t1 ~~ d_agree_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableagree_curr_par1_t1 ~~ agree_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_curr_par2_t1 ~~ agree_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_curr_par3_t1 ~~ agree_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_curr_par1_t1 ~~ res1*agree_curr_par1_t1 # This allows residual variance on indicator X1 at T1 agree_curr_par2_t1 ~~ res2*agree_curr_par2_t1 # This allows residual variance on indicator X2 at T1agree_curr_par3_t1 ~~ res3*agree_curr_par3_t1 # This allows residual variance on indicator X3 at T1agree_curr_par1_t2 ~~ res1*agree_curr_par1_t2 # This allows residual variance on indicator X1 at T2 agree_curr_par2_t2 ~~ res2*agree_curr_par2_t2 # This allows residual variance on indicator X2 at T2 agree_curr_par3_t2 ~~ res3*agree_curr_par3_t2 # This allows residual variance on indicator X3 at T2agree_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_agree_curr_hyp5 <-lavaan(mi_lcs_agree_curr_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_curr_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with agreeableness change score (current-self) is not significantly different from zero, r = 0.137, p = 0.129.
6.5.1.6 Agreeableness - ideal-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_ideal_hyp5 <-'agree_t1 =~ 1*agree_ideal_par1_t1 + lamb2*agree_ideal_par2_t1 + lamb3*agree_ideal_par3_t1 # This specifies the measurement model for agree_t1 agree_t2 =~ 1*agree_ideal_par1_t2 + lamb2*agree_ideal_par2_t2 + lamb3*agree_ideal_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsagree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 agree_t1 ~~ d_agree_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableagree_ideal_par1_t1 ~~ agree_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_ideal_par2_t1 ~~ agree_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_ideal_par3_t1 ~~ agree_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_ideal_par1_t1 ~~ res1*agree_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 agree_ideal_par2_t1 ~~ res2*agree_ideal_par2_t1 # This allows residual variance on indicator X2 at T1agree_ideal_par3_t1 ~~ res3*agree_ideal_par3_t1 # This allows residual variance on indicator X3 at T1agree_ideal_par1_t2 ~~ res1*agree_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 agree_ideal_par2_t2 ~~ res2*agree_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 agree_ideal_par3_t2 ~~ res3*agree_ideal_par3_t2 # This allows residual variance on indicator X3 at T2agree_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_agree_ideal_hyp5 <-lavaan(mi_lcs_agree_ideal_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_ideal_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_curr_specif_hyp5 <-'agree_t1 =~ 1*agree_curr_par1_t1 + lamb2*agree_curr_par2_t1 + lamb3*agree_curr_par3_t1 # This specifies the measurement model for agree_t1agree_t2 =~ 1*agree_curr_par1_t2 + lamb2*agree_curr_par2_t2 + lamb3*agree_curr_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_04_t1 + sa07_05_t1 + sa07_06_t1 # latent acceptance goal variable (three facets per trait)agree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 agree_t1 ~~ d_agree_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableagree_curr_par1_t1 ~~ agree_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_curr_par2_t1 ~~ agree_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_curr_par3_t1 ~~ agree_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_curr_par1_t1 ~~ res1*agree_curr_par1_t1 # This allows residual variance on indicator X1 at T1 agree_curr_par2_t1 ~~ res2*agree_curr_par2_t1 # This allows residual variance on indicator X2 at T1agree_curr_par3_t1 ~~ res3*agree_curr_par3_t1 # This allows residual variance on indicator X3 at T1agree_curr_par1_t2 ~~ res1*agree_curr_par1_t2 # This allows residual variance on indicator X1 at T2 agree_curr_par2_t2 ~~ res2*agree_curr_par2_t2 # This allows residual variance on indicator X2 at T2 agree_curr_par3_t2 ~~ res3*agree_curr_par3_t2 # This allows residual variance on indicator X3 at T2agree_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_04_t1 ~~ sa07_04_t1sa07_05_t1 ~~ sa07_05_t1sa07_06_t1 ~~ sa07_06_t1sa07_04_t1 ~ 1sa07_05_t1 ~ 1sa07_06_t1 ~ 1'fit_mi_lcs_agree_curr_specif_hyp5 <-lavaan(mi_lcs_agree_curr_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_curr_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with agreeableness change score (current-self) is not significantly different from zero, r = 0.033, p = 0.748.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_agree_ideal_specif_hyp5 <-'agree_t1 =~ 1*agree_ideal_par1_t1 + lamb2*agree_ideal_par2_t1 + lamb3*agree_ideal_par3_t1 # This specifies the measurement model for agree_t1 agree_t2 =~ 1*agree_ideal_par1_t2 + lamb2*agree_ideal_par2_t2 + lamb3*agree_ideal_par3_t2 # This specifies the measurement model for agree_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_04_t1 + sa07_05_t1 + sa07_06_t1 # latent acceptance goal variable (three facets per trait)agree_t2 ~ 1*agree_t1 # This parameter regresses agree_t2 perfectly on agree_t1d_agree_1 =~ 1*agree_t2 # This defines the latent change score factor as measured perfectly by scores on agree_t2agree_t2 ~ 0*1 # This line constrains the intercept of agree_t2 to 0agree_t2 ~~ 0*agree_t2 # This fixes the variance of agree_t2 to 0d_agree_1 ~ 1 # This estimates the intercept of the change score agree_t1 ~ 1 # This estimates the intercept of agree_t1 d_agree_1 ~~ d_agree_1 # This estimates the variance of the change scores agree_t1 ~~ agree_t1 # This estimates the variance of the agree_t1 agree_t1 ~~ d_agree_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_agree_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableagree_ideal_par1_t1 ~~ agree_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2agree_ideal_par2_t1 ~~ agree_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2agree_ideal_par3_t1 ~~ agree_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2agree_ideal_par1_t1 ~~ res1*agree_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 agree_ideal_par2_t1 ~~ res2*agree_ideal_par2_t1 # This allows residual variance on indicator X2 at T1agree_ideal_par3_t1 ~~ res3*agree_ideal_par3_t1 # This allows residual variance on indicator X3 at T1agree_ideal_par1_t2 ~~ res1*agree_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 agree_ideal_par2_t2 ~~ res2*agree_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 agree_ideal_par3_t2 ~~ res3*agree_ideal_par3_t2 # This allows residual variance on indicator X3 at T2agree_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1agree_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1agree_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1agree_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2agree_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2agree_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_04_t1 ~~ sa07_04_t1sa07_05_t1 ~~ sa07_05_t1sa07_06_t1 ~~ sa07_06_t1sa07_04_t1 ~ 1sa07_05_t1 ~ 1sa07_06_t1 ~ 1'fit_mi_lcs_agree_ideal_specif_hyp5 <-lavaan(mi_lcs_agree_ideal_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_agree_ideal_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with agreeableness change score (ideal-self) is not significantly different from zero, r = 0.033, p = 0.701.
6.5.1.9 Conscientiousness - current-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_curr_hyp5 <-'consc_t1 =~ 1*consc_curr_par1_t1 + lamb2*consc_curr_par2_t1 + lamb3*consc_curr_par3_t1 # This specifies the measurement model for consc_t1 consc_t2 =~ 1*consc_curr_par1_t2 + lamb2*consc_curr_par2_t2 + lamb3*consc_curr_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsconsc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableconsc_curr_par1_t1 ~~ consc_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_curr_par2_t1 ~~ consc_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_curr_par3_t1 ~~ consc_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_curr_par1_t1 ~~ res1*consc_curr_par1_t1 # This allows residual variance on indicator X1 at T1 consc_curr_par2_t1 ~~ res2*consc_curr_par2_t1 # This allows residual variance on indicator X2 at T1consc_curr_par3_t1 ~~ res3*consc_curr_par3_t1 # This allows residual variance on indicator X3 at T1consc_curr_par1_t2 ~~ res1*consc_curr_par1_t2 # This allows residual variance on indicator X1 at T2 consc_curr_par2_t2 ~~ res2*consc_curr_par2_t2 # This allows residual variance on indicator X2 at T2 consc_curr_par3_t2 ~~ res3*consc_curr_par3_t2 # This allows residual variance on indicator X3 at T2consc_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_consc_curr_hyp5 <-lavaan(mi_lcs_consc_curr_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_curr_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with conscientiousness change score (current-self) is not significantly different from zero, r = 0.06, p = 0.305.
6.5.1.10 Conscientiousness - ideal-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_ideal_hyp5 <-'consc_t1 =~ 1*consc_ideal_par1_t1 + lamb2*consc_ideal_par2_t1 + lamb3*consc_ideal_par3_t1 # This specifies the measurement model for consc_t1consc_t2 =~ 1*consc_ideal_par1_t2 + lamb2*consc_ideal_par2_t2 + lamb3*consc_ideal_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsconsc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableconsc_ideal_par1_t1 ~~ consc_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_ideal_par2_t1 ~~ consc_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_ideal_par3_t1 ~~ consc_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_ideal_par1_t1 ~~ res1*consc_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 consc_ideal_par2_t1 ~~ res2*consc_ideal_par2_t1 # This allows residual variance on indicator X2 at T1consc_ideal_par3_t1 ~~ res3*consc_ideal_par3_t1 # This allows residual variance on indicator X3 at T1consc_ideal_par1_t2 ~~ res1*consc_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 consc_ideal_par2_t2 ~~ res2*consc_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 consc_ideal_par3_t2 ~~ res3*consc_ideal_par3_t2 # This allows residual variance on indicator X3 at T2consc_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_consc_ideal_hyp5 <-lavaan(mi_lcs_consc_ideal_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_ideal_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with conscientiousness change score (ideal-self) is not significantly different from zero, r = -0.02, p = 0.731.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_curr_specif_hyp5 <-'consc_t1 =~ 1*consc_curr_par1_t1 + lamb2*consc_curr_par2_t1 + lamb3*consc_curr_par3_t1 # This specifies the measurement model for consc_t1 consc_t2 =~ 1*consc_curr_par1_t2 + lamb2*consc_curr_par2_t2 + lamb3*consc_curr_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_07_t1 + sa07_08_t1 + sa07_09_t1 # latent acceptance goal variable (three facets per trait)consc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableconsc_curr_par1_t1 ~~ consc_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_curr_par2_t1 ~~ consc_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_curr_par3_t1 ~~ consc_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_curr_par1_t1 ~~ res1*consc_curr_par1_t1 # This allows residual variance on indicator X1 at T1 consc_curr_par2_t1 ~~ res2*consc_curr_par2_t1 # This allows residual variance on indicator X2 at T1consc_curr_par3_t1 ~~ res3*consc_curr_par3_t1 # This allows residual variance on indicator X3 at T1consc_curr_par1_t2 ~~ res1*consc_curr_par1_t2 # This allows residual variance on indicator X1 at T2 consc_curr_par2_t2 ~~ res2*consc_curr_par2_t2 # This allows residual variance on indicator X2 at T2 consc_curr_par3_t2 ~~ res3*consc_curr_par3_t2 # This allows residual variance on indicator X3 at T2consc_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_07_t1 ~~ sa07_07_t1sa07_08_t1 ~~ sa07_08_t1sa07_09_t1 ~~ sa07_09_t1sa07_07_t1 ~ 1sa07_08_t1 ~ 1sa07_09_t1 ~ 1'fit_mi_lcs_consc_curr_specif_hyp5 <-lavaan(mi_lcs_consc_curr_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_curr_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
The correlation of specific, facet-level acceptance goals with the conscientiousness change score (current-self) is significantly different from zero, r = -0.256, p = 0.009.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_consc_ideal_specif_hyp5 <-'consc_t1 =~ 1*consc_ideal_par1_t1 + lamb2*consc_ideal_par2_t1 + lamb3*consc_ideal_par3_t1 # This specifies the measurement model for consc_t1consc_t2 =~ 1*consc_ideal_par1_t2 + lamb2*consc_ideal_par2_t2 + lamb3*consc_ideal_par3_t2 # This specifies the measurement model for consc_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_07_t1 + sa07_08_t1 + sa07_09_t1 # latent acceptance goal variable (three facets per trait)consc_t2 ~ 1*consc_t1 # This parameter regresses consc_t2 perfectly on consc_t1d_consc_1 =~ 1*consc_t2 # This defines the latent change score factor as measured perfectly by scores on consc_t2consc_t2 ~ 0*1 # This line constrains the intercept of consc_t2 to 0consc_t2 ~~ 0*consc_t2 # This fixes the variance of consc_t2 to 0d_consc_1 ~ 1 # This estimates the intercept of the change score consc_t1 ~ 1 # This estimates the intercept of consc_t1 d_consc_1 ~~ d_consc_1 # This estimates the variance of the change scores consc_t1 ~~ consc_t1 # This estimates the variance of the consc_t1 consc_t1 ~~ d_consc_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_consc_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableconsc_ideal_par1_t1 ~~ consc_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2consc_ideal_par2_t1 ~~ consc_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2consc_ideal_par3_t1 ~~ consc_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2consc_ideal_par1_t1 ~~ res1*consc_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 consc_ideal_par2_t1 ~~ res2*consc_ideal_par2_t1 # This allows residual variance on indicator X2 at T1consc_ideal_par3_t1 ~~ res3*consc_ideal_par3_t1 # This allows residual variance on indicator X3 at T1consc_ideal_par1_t2 ~~ res1*consc_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 consc_ideal_par2_t2 ~~ res2*consc_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 consc_ideal_par3_t2 ~~ res3*consc_ideal_par3_t2 # This allows residual variance on indicator X3 at T2consc_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1consc_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1consc_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1consc_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2consc_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2consc_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_07_t1 ~~ sa07_07_t1sa07_08_t1 ~~ sa07_08_t1sa07_09_t1 ~~ sa07_09_t1sa07_07_t1 ~ 1sa07_08_t1 ~ 1sa07_09_t1 ~ 1'fit_mi_lcs_consc_ideal_specif_hyp5 <-lavaan(mi_lcs_consc_ideal_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_consc_ideal_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
The correlation of specific, facet-level acceptance goals with the conscientiousness change score (ideal-self) is not significantly different from zero, r = -0.083, p = 0.19.
6.5.1.13 Neuroticism - current-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_curr_hyp5 <-'neuro_t1 =~ 1*neuro_curr_par1_t1 + lamb2*neuro_curr_par2_t1 + lamb3*neuro_curr_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_curr_par1_t2 + lamb2*neuro_curr_par2_t2 + lamb3*neuro_curr_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsneuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableneuro_curr_par1_t1 ~~ neuro_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_curr_par2_t1 ~~ neuro_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_curr_par3_t1 ~~ neuro_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_curr_par1_t1 ~~ res1*neuro_curr_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_curr_par2_t1 ~~ res2*neuro_curr_par2_t1 # This allows residual variance on indicator X2 at T1neuro_curr_par3_t1 ~~ res3*neuro_curr_par3_t1 # This allows residual variance on indicator X3 at T1neuro_curr_par1_t2 ~~ res1*neuro_curr_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_curr_par2_t2 ~~ res2*neuro_curr_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_curr_par3_t2 ~~ res3*neuro_curr_par3_t2 # This allows residual variance on indicator X3 at T2neuro_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_neuro_curr_hyp5 <-lavaan(mi_lcs_neuro_curr_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_curr_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with neuroticism change score (current-self) is significantly different from zero, r = -0.157, p = 0.021.
6.5.1.14 Neuroticism - ideal-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_ideal_hyp5 <-'neuro_t1 =~ 1*neuro_ideal_par1_t1 + lamb2*neuro_ideal_par2_t1 + lamb3*neuro_ideal_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_ideal_par1_t2 + lamb2*neuro_ideal_par2_t2 + lamb3*neuro_ideal_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsneuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableneuro_ideal_par1_t1 ~~ neuro_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_ideal_par2_t1 ~~ neuro_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_ideal_par3_t1 ~~ neuro_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_ideal_par1_t1 ~~ res1*neuro_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_ideal_par2_t1 ~~ res2*neuro_ideal_par2_t1 # This allows residual variance on indicator X2 at T1neuro_ideal_par3_t1 ~~ res3*neuro_ideal_par3_t1 # This allows residual variance on indicator X3 at T1neuro_ideal_par1_t2 ~~ res1*neuro_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_ideal_par2_t2 ~~ res2*neuro_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_ideal_par3_t2 ~~ res3*neuro_ideal_par3_t2 # This allows residual variance on indicator X3 at T2neuro_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_neuro_ideal_hyp5 <-lavaan(mi_lcs_neuro_ideal_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_ideal_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_curr_specif_hyp5 <-'neuro_t1 =~ 1*neuro_curr_par1_t1 + lamb2*neuro_curr_par2_t1 + lamb3*neuro_curr_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_curr_par1_t2 + lamb2*neuro_curr_par2_t2 + lamb3*neuro_curr_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_10_t1 + sa07_11_t1 + sa07_12_t1 # latent acceptance goal variable (three facets per trait)neuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableneuro_curr_par1_t1 ~~ neuro_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_curr_par2_t1 ~~ neuro_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_curr_par3_t1 ~~ neuro_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_curr_par1_t1 ~~ res1*neuro_curr_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_curr_par2_t1 ~~ res2*neuro_curr_par2_t1 # This allows residual variance on indicator X2 at T1neuro_curr_par3_t1 ~~ res3*neuro_curr_par3_t1 # This allows residual variance on indicator X3 at T1neuro_curr_par1_t2 ~~ res1*neuro_curr_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_curr_par2_t2 ~~ res2*neuro_curr_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_curr_par3_t2 ~~ res3*neuro_curr_par3_t2 # This allows residual variance on indicator X3 at T2neuro_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_10_t1 ~~ sa07_10_t1sa07_11_t1 ~~ sa07_11_t1sa07_12_t1 ~~ sa07_12_t1sa07_10_t1 ~ 1sa07_11_t1 ~ 1sa07_12_t1 ~ 1'fit_mi_lcs_neuro_curr_specif_hyp5 <-lavaan(mi_lcs_neuro_curr_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_curr_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with neuroticism change score (current-self) is not significantly different from zero, r = 0.053, p = 0.516.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_neuro_ideal_specif_hyp5 <-'neuro_t1 =~ 1*neuro_ideal_par1_t1 + lamb2*neuro_ideal_par2_t1 + lamb3*neuro_ideal_par3_t1 # This specifies the measurement model for neuro_t1 neuro_t2 =~ 1*neuro_ideal_par1_t2 + lamb2*neuro_ideal_par2_t2 + lamb3*neuro_ideal_par3_t2 # This specifies the measurement model for neuro_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_10_t1 + sa07_11_t1 + sa07_12_t1 # latent acceptance goal variable (three facets per trait)neuro_t2 ~ 1*neuro_t1 # This parameter regresses neuro_t2 perfectly on neuro_t1d_neuro_1 =~ 1*neuro_t2 # This defines the latent change score factor as measured perfectly by scores on neuro_t2neuro_t2 ~ 0*1 # This line constrains the intercept of neuro_t2 to 0neuro_t2 ~~ 0*neuro_t2 # This fixes the variance of neuro_t2 to 0d_neuro_1 ~ 1 # This estimates the intercept of the change score neuro_t1 ~ 1 # This estimates the intercept of neuro_t1 d_neuro_1 ~~ d_neuro_1 # This estimates the variance of the change scores neuro_t1 ~~ neuro_t1 # This estimates the variance of the neuro_t1 neuro_t1 ~~ d_neuro_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_neuro_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableneuro_ideal_par1_t1 ~~ neuro_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2neuro_ideal_par2_t1 ~~ neuro_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2neuro_ideal_par3_t1 ~~ neuro_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2neuro_ideal_par1_t1 ~~ res1*neuro_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 neuro_ideal_par2_t1 ~~ res2*neuro_ideal_par2_t1 # This allows residual variance on indicator X2 at T1neuro_ideal_par3_t1 ~~ res3*neuro_ideal_par3_t1 # This allows residual variance on indicator X3 at T1neuro_ideal_par1_t2 ~~ res1*neuro_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 neuro_ideal_par2_t2 ~~ res2*neuro_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 neuro_ideal_par3_t2 ~~ res3*neuro_ideal_par3_t2 # This allows residual variance on indicator X3 at T2neuro_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1neuro_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1neuro_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1neuro_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2neuro_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2neuro_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_10_t1 ~~ sa07_10_t1sa07_11_t1 ~~ sa07_11_t1sa07_12_t1 ~~ sa07_12_t1sa07_10_t1 ~ 1sa07_11_t1 ~ 1sa07_12_t1 ~ 1'fit_mi_lcs_neuro_ideal_specif_hyp5 <-lavaan(mi_lcs_neuro_ideal_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_neuro_ideal_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
The correlation of specific, facet-level acceptance goals with the neuroticism change score (ideal-self) is significantly different from zero, r = 0.14, p = 0.02.
6.5.1.17 Openness - current-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_curr_hyp5 <-'openn_t1 =~ 1*openn_curr_par1_t1 + lamb2*openn_curr_par2_t1 + lamb3*openn_curr_par3_t1 # This specifies the measurement model for openn_t1openn_t2 =~ 1*openn_curr_par1_t2 + lamb2*openn_curr_par2_t2 + lamb3*openn_curr_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsopenn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableopenn_curr_par1_t1 ~~ openn_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_curr_par2_t1 ~~ openn_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_curr_par3_t1 ~~ openn_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_curr_par1_t1 ~~ res1*openn_curr_par1_t1 # This allows residual variance on indicator X1 at T1 openn_curr_par2_t1 ~~ res2*openn_curr_par2_t1 # This allows residual variance on indicator X2 at T1openn_curr_par3_t1 ~~ res3*openn_curr_par3_t1 # This allows residual variance on indicator X3 at T1openn_curr_par1_t2 ~~ res1*openn_curr_par1_t2 # This allows residual variance on indicator X1 at T2 openn_curr_par2_t2 ~~ res2*openn_curr_par2_t2 # This allows residual variance on indicator X2 at T2 openn_curr_par3_t2 ~~ res3*openn_curr_par3_t2 # This allows residual variance on indicator X3 at T2openn_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_openn_curr_hyp5 <-lavaan(mi_lcs_openn_curr_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_curr_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with openness change score (current-self) is not significantly different from zero, r = 0.09, p = 0.176.
6.5.1.18 Openness - ideal-self: general acceptance goals
Fit model:
Show the code
# adding correlation with manifest acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_ideal_hyp5 <-'openn_t1 =~ 1*openn_ideal_par1_t1 + lamb2*openn_ideal_par2_t1 + lamb3*openn_ideal_par3_t1 # This specifies the measurement model for openn_t1 openn_t2 =~ 1*openn_ideal_par1_t2 + lamb2*openn_ideal_par2_t2 + lamb3*openn_ideal_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsopenn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ sa06_01_t1 # estimates the covariance/correlation with acceptance goal variableopenn_ideal_par1_t1 ~~ openn_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_ideal_par2_t1 ~~ openn_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_ideal_par3_t1 ~~ openn_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_ideal_par1_t1 ~~ res1*openn_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 openn_ideal_par2_t1 ~~ res2*openn_ideal_par2_t1 # This allows residual variance on indicator X2 at T1openn_ideal_par3_t1 ~~ res3*openn_ideal_par3_t1 # This allows residual variance on indicator X3 at T1openn_ideal_par1_t2 ~~ res1*openn_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 openn_ideal_par2_t2 ~~ res2*openn_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 openn_ideal_par3_t2 ~~ res3*openn_ideal_par3_t2 # This allows residual variance on indicator X3 at T2openn_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa06_01_t1 ~~ sa06_01_t1sa06_01_t1 ~ 1'fit_mi_lcs_openn_ideal_hyp5 <-lavaan(mi_lcs_openn_ideal_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing="fiml")summary(fit_mi_lcs_openn_ideal_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (sa06_01_t1 = general acceptance goal):
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_curr_specif_hyp5 <-'openn_t1 =~ 1*openn_curr_par1_t1 + lamb2*openn_curr_par2_t1 + lamb3*openn_curr_par3_t1 # This specifies the measurement model for openn_t1openn_t2 =~ 1*openn_curr_par1_t2 + lamb2*openn_curr_par2_t2 + lamb3*openn_curr_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_13_t1 + sa07_14_t1 + sa07_15_t1 # latent acceptance goal variable (three facets per trait)openn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableopenn_curr_par1_t1 ~~ openn_curr_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_curr_par2_t1 ~~ openn_curr_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_curr_par3_t1 ~~ openn_curr_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_curr_par1_t1 ~~ res1*openn_curr_par1_t1 # This allows residual variance on indicator X1 at T1 openn_curr_par2_t1 ~~ res2*openn_curr_par2_t1 # This allows residual variance on indicator X2 at T1openn_curr_par3_t1 ~~ res3*openn_curr_par3_t1 # This allows residual variance on indicator X3 at T1openn_curr_par1_t2 ~~ res1*openn_curr_par1_t2 # This allows residual variance on indicator X1 at T2 openn_curr_par2_t2 ~~ res2*openn_curr_par2_t2 # This allows residual variance on indicator X2 at T2 openn_curr_par3_t2 ~~ res3*openn_curr_par3_t2 # This allows residual variance on indicator X3 at T2openn_curr_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_curr_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_curr_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_curr_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_curr_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_curr_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_13_t1 ~~ sa07_13_t1sa07_14_t1 ~~ sa07_14_t1sa07_15_t1 ~~ sa07_15_t1sa07_13_t1 ~ 1sa07_14_t1 ~ 1sa07_15_t1 ~ 1'fit_mi_lcs_openn_curr_specif_hyp5 <-lavaan(mi_lcs_openn_curr_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')summary(fit_mi_lcs_openn_curr_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with openness change score (current-self) is not significantly different from zero, r = -0.059, p = 0.455.
# adding correlation with latent (made up of the three facets) acceptance goal variable to the latent change score model:# Fit the multiple indicator univariate latent change score modelmi_lcs_openn_ideal_specif_hyp5 <-'openn_t1 =~ 1*openn_ideal_par1_t1 + lamb2*openn_ideal_par2_t1 + lamb3*openn_ideal_par3_t1 # This specifies the measurement model for openn_t1 openn_t2 =~ 1*openn_ideal_par1_t2 + lamb2*openn_ideal_par2_t2 + lamb3*openn_ideal_par3_t2 # This specifies the measurement model for openn_t2 with the equality constrained factor loadingsgoals =~ 1*sa07_13_t1 + sa07_14_t1 + sa07_15_t1 # latent acceptance goal variable (three facets per trait)openn_t2 ~ 1*openn_t1 # This parameter regresses openn_t2 perfectly on openn_t1d_openn_1 =~ 1*openn_t2 # This defines the latent change score factor as measured perfectly by scores on openn_t2openn_t2 ~ 0*1 # This line constrains the intercept of openn_t2 to 0openn_t2 ~~ 0*openn_t2 # This fixes the variance of openn_t2 to 0d_openn_1 ~ 1 # This estimates the intercept of the change score openn_t1 ~ 1 # This estimates the intercept of openn_t1 d_openn_1 ~~ d_openn_1 # This estimates the variance of the change scores openn_t1 ~~ openn_t1 # This estimates the variance of the openn_t1 openn_t1 ~~ d_openn_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_openn_1 ~~ goals # estimates the covariance/correlation with the (latent) acceptance goal variablegoals ~ 0*1 # This fixes the intercept of the (latent) acceptance goal variable to 0goals ~~ goals # This estimates the variance of the (latent) acceptance goal variableopenn_ideal_par1_t1 ~~ openn_ideal_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2openn_ideal_par2_t1 ~~ openn_ideal_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2openn_ideal_par3_t1 ~~ openn_ideal_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2openn_ideal_par1_t1 ~~ res1*openn_ideal_par1_t1 # This allows residual variance on indicator X1 at T1 openn_ideal_par2_t1 ~~ res2*openn_ideal_par2_t1 # This allows residual variance on indicator X2 at T1openn_ideal_par3_t1 ~~ res3*openn_ideal_par3_t1 # This allows residual variance on indicator X3 at T1openn_ideal_par1_t2 ~~ res1*openn_ideal_par1_t2 # This allows residual variance on indicator X1 at T2 openn_ideal_par2_t2 ~~ res2*openn_ideal_par2_t2 # This allows residual variance on indicator X2 at T2 openn_ideal_par3_t2 ~~ res3*openn_ideal_par3_t2 # This allows residual variance on indicator X3 at T2openn_ideal_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1openn_ideal_par2_t1 ~ m2*1 # This estimates the intercept of X2 at T1openn_ideal_par3_t1 ~ m3*1 # This estimates the intercept of X3 at T1openn_ideal_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2openn_ideal_par2_t2 ~ m2*1 # This estimates the intercept of X2 at T2openn_ideal_par3_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa07_13_t1 ~~ sa07_13_t1sa07_14_t1 ~~ sa07_14_t1sa07_15_t1 ~~ sa07_15_t1sa07_13_t1 ~ 1sa07_14_t1 ~ 1sa07_15_t1 ~ 1'fit_mi_lcs_openn_ideal_specif_hyp5 <-lavaan(mi_lcs_openn_ideal_specif_hyp5, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing ="fiml")summary(fit_mi_lcs_openn_ideal_specif_hyp5, fit.measures=TRUE, standardized=TRUE, rsquare=F)
Results summary (goals = trait/facet specific acceptance goal):
The correlation of specific, facet-level acceptance goals with the openness change score (ideal-self) is not significantly different from zero, r = -0.016, p = 0.847.
6.5.2 Big Five facets
Run models for all facets with a template & loop:
Show the code
# create template:facet_template <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionald_facet_1 ~~ ind_goal # estimates the covariance/correlation with acceptance goal variableind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ind_goal ~~ ind_goalind_goal ~ 1'# loop across 15 facetsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# loop across 2 BFI versions (combined pre&post current/ideal)for (j in5:length(bfi_versions)) { items =paste0(bfi_versions[[j]], item_nrs)# loop across 2 different goal operationalizations (sa06_01_t1 & sa07_XX_t1)for (k in1:2) {if (k==1) { goal_op ="sa06_01_t1" } else{ goal_op =paste0("sa07_", str_pad(i-5, 2, pad ="0"), "_t1") } template_filled <-str_replace_all(facet_template, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= goal_op)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa, estimator='mlr', fixed.x=FALSE, missing='fiml')# save to environmentif (k==1) {eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_hyp5")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_hyp5")), facet_model_fit)) } else{eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_specif_hyp5")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[j], 6), "_specif_hyp5")), facet_model_fit)) } } }}
6.5.2.1 Sociability - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
The correlation of the general acceptance goal with the sociability change score (current-self) is significantly different from zero, r = 0.26, p = 0.001.
6.5.2.2 Sociability - ideal-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with sociability change score (current-self) is not significantly different from zero, r = 0.004, p = 0.969.
Correlation of specific, facet-level acceptance goals with anxiety change score (ideal-self) is not significantly different from zero, r = -0.025, p = 0.793.
6.5.2.5 Assertiveness - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with assertiveness change score (current-self) is not significantly different from zero, r = -0.021, p = 0.8.
Correlation of specific, facet-level acceptance goals with assertiveness change score (ideal-self) is not significantly different from zero, r = -0.077, p = 0.372.
6.5.2.9 Energy - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with energy change score (current-self) is not significantly different from zero, r = 0.116, p = 0.17.
6.5.2.12 Energy - ideal-self: specific, facet-level acceptance goals
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
Correlation of specific, facet-level acceptance goals with energy change score (ideal-self) is not significantly different from zero, r = 0.126, p = 0.156.
6.5.2.13 Compassion - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with compassion change score (current-self) is not significantly different from zero, r = -0.04, p = 0.566.
Correlation of specific, facet-level acceptance goals with compassion change score (ideal-self) is not significantly different from zero, r = -0.203, p = 0.047.
6.5.2.17 Respectfulness - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with respectfulness change score (current-self) is not significantly different from zero, r = 0.037, p = 0.698.
Correlation of specific, facet-level acceptance goals with respectfulness change score (ideal-self) is not significantly different from zero, r = -0.03, p = 0.753.
6.5.2.21 Trust - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with trust change score (current-self) is not significantly different from zero, r = 0.102, p = 0.225.
Correlation of specific, facet-level acceptance goals with trust change score (ideal-self) is not significantly different from zero, r = 0.025, p = 0.779.
6.5.2.25 Organization - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
The correlation of specific, facet-level acceptance goals with the organization change score (current-self) is significantly different from zero, r = 0.211, p = 0.017.
Correlation of specific, facet-level acceptance goals with organization change score (ideal-self) is not significantly different from zero, r = 0.05, p = 0.481.
6.5.2.29 Productiveness - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of general acceptance goal with productiveness change score (current-self) is not significantly different from zero, r = -0.067, p = 0.386.
6.5.2.30 Productiveness - ideal-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with productiveness change score (current-self) is not significantly different from zero, r = 0.182, p = 0.072.
Correlation of specific, facet-level acceptance goals with productiveness change score (ideal-self) is not significantly different from zero, r = 0.021, p = 0.779.
6.5.2.33 Responsibility - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
The correlation of specific, facet-level acceptance goals with the responsibility change score (current-self) is significantly different from zero, r = -0.322, p = 0.006.
Correlation of specific, facet-level acceptance goals with responsibility change score (ideal-self) is not significantly different from zero, r = -0.08, p = 0.295.
6.5.2.37 Anxiety - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with anxiety change score (current-self) is not significantly different from zero, r = 0.016, p = 0.866.
Correlation of specific, facet-level acceptance goals with anxiety change score (ideal-self) is not significantly different from zero, r = 0.037, p = 0.76.
6.5.2.41 Depression - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with depression change score (current-self) is not significantly different from zero, r = -0.078, p = 0.377.
Correlation of specific, facet-level acceptance goals with depression change score (ideal-self) is not significantly different from zero, r = -0.001, p = 0.992.
6.5.2.45 Volatility - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with volatility change score (current-self) is not significantly different from zero, r = -0.007, p = 0.932.
Correlation of specific, facet-level acceptance goals with volatility change score (ideal-self) is not significantly different from zero, r = -0.072, p = 0.415.
6.5.2.49 Curiosity - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
The correlation of specific, facet-level acceptance goals with the curiosity change score (current-self) is significantly different from zero, r = -0.156, p = 0.075.
Correlation of specific, facet-level acceptance goals with curiosity change score (ideal-self) is not significantly different from zero, r = -0.168, p = 0.105.
6.5.2.53 Aesthetic - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with aesthetic change score (current-self) is not significantly different from zero, r = -0.013, p = 0.851.
Correlation of specific, facet-level acceptance goals with aesthetic change score (ideal-self) is not significantly different from zero, r = -0.019, p = 0.786.
6.5.2.57 Imagination - current-self: general acceptance goals
Results summary (sa06_01_t1 = general acceptance goal):
Correlation of specific, facet-level acceptance goals with imagination change score (current-self) is not significantly different from zero, r = -0.084, p = 0.317.
Correlation of specific, facet-level acceptance goals with imagination change score (ideal-self) is not significantly different from zero, r = 0.027, p = 0.793.
Results summary across the Big Five traits: covariance of the latent change score and acceptance goal(s)
kable(df_table_hyp5[1:20, ], digits =3)
trait
ref
goal
estimate
std.all
statistic
p.value
extraversion
current
general
0.067
0.182
3.212
0.001
extraversion
ideal
general
0.026
0.066
1.114
0.265
extraversion
current
specific
0.012
0.049
0.496
0.620
extraversion
ideal
specific
-0.022
-0.085
-0.905
0.365
agreeableness
current
general
0.030
0.137
1.520
0.129
agreeableness
ideal
general
0.025
0.079
1.219
0.223
agreeableness
current
specific
0.004
0.033
0.322
0.748
agreeableness
ideal
specific
0.006
0.033
0.383
0.701
conscientiousness
current
general
0.021
0.060
1.025
0.305
conscientiousness
ideal
general
-0.007
-0.020
-0.344
0.731
conscientiousness
current
specific
-0.072
-0.256
-2.610
0.009
conscientiousness
ideal
specific
-0.021
-0.083
-1.310
0.190
neuroticism
current
general
-0.069
-0.157
-2.306
0.021
neuroticism
ideal
general
-0.014
-0.043
-0.728
0.467
neuroticism
current
specific
0.014
0.053
0.650
0.516
neuroticism
ideal
specific
0.025
0.140
2.319
0.020
openness
current
general
0.027
0.090
1.354
0.176
openness
ideal
general
0.002
0.007
0.088
0.930
openness
current
specific
-0.010
-0.059
-0.747
0.455
openness
ideal
specific
-0.002
-0.016
-0.193
0.847
Five covariances significantly differ from zero:
changes in current-level extraversion covary with the general acceptance goal
changes in current-level conscientiousness covary with the specific acceptance goals (latent factor of the three C facets) -> unexpected direction of the effect!
changes in current-level neuroticism covary with the general acceptance goals
changes in ideal-level neuroticism covary with the specific acceptance goals (latent factor of the three N facets)
Results summary across the Big Five facets: covariance of the latent change score and acceptance goal(s)
kable(df_table_hyp5[21:80, ], digits =3)
trait
ref
goal
estimate
std.all
statistic
p.value
sociability
current
general
0.096
0.260
3.243
0.001
sociability
ideal
general
-0.014
-0.054
-0.767
0.443
sociability
current
specific
0.001
0.004
0.039
0.969
sociability
ideal
specific
-0.006
-0.025
-0.262
0.793
assertiveness
current
general
0.061
0.171
2.425
0.015
assertiveness
ideal
general
0.016
0.082
1.023
0.306
assertiveness
current
specific
-0.008
-0.021
-0.253
0.800
assertiveness
ideal
specific
-0.016
-0.077
-0.893
0.372
energy
current
general
-0.020
-0.063
-0.985
0.325
energy
ideal
general
-0.030
-0.124
-1.512
0.130
energy
current
specific
0.039
0.116
1.373
0.170
energy
ideal
specific
0.030
0.126
1.420
0.156
compassion
current
general
0.065
0.122
1.452
0.147
compassion
ideal
general
0.013
0.039
0.402
0.688
compassion
current
specific
-0.020
-0.040
-0.574
0.566
compassion
ideal
specific
-0.068
-0.203
-1.988
0.047
respectfulness
current
general
0.013
0.047
0.539
0.590
respectfulness
ideal
general
0.012
0.052
0.624
0.533
respectfulness
current
specific
0.010
0.037
0.388
0.698
respectfulness
ideal
specific
-0.007
-0.030
-0.315
0.753
trust
current
general
-0.020
-0.063
-0.717
0.473
trust
ideal
general
-0.048
-0.164
-1.867
0.062
trust
current
specific
0.033
0.102
1.213
0.225
trust
ideal
specific
0.007
0.025
0.281
0.779
organization
current
general
-0.004
-0.009
-0.133
0.894
organization
ideal
general
0.007
0.037
0.528
0.598
organization
current
specific
0.108
0.211
2.380
0.017
organization
ideal
specific
0.010
0.050
0.704
0.481
productiveness
current
general
-0.024
-0.067
-0.868
0.386
productiveness
ideal
general
-0.012
-0.046
-0.619
0.536
productiveness
current
specific
0.070
0.182
1.798
0.072
productiveness
ideal
specific
0.006
0.021
0.281
0.779
responsibility
current
general
0.038
0.145
1.459
0.145
responsibility
ideal
general
0.014
0.037
0.488
0.625
responsibility
current
specific
-0.092
-0.322
-2.768
0.006
responsibility
ideal
specific
-0.030
-0.080
-1.047
0.295
anxiety
current
general
0.065
0.134
1.468
0.142
anxiety
ideal
general
0.020
0.080
0.875
0.382
anxiety
current
specific
0.008
0.016
0.169
0.866
anxiety
ideal
specific
0.010
0.037
0.305
0.760
depression
current
general
0.030
0.073
1.152
0.249
depression
ideal
general
-0.006
-0.028
-0.408
0.684
depression
current
specific
-0.033
-0.078
-0.884
0.377
depression
ideal
specific
0.000
-0.001
-0.010
0.992
volatility
current
general
-0.077
-0.138
-1.924
0.054
volatility
ideal
general
-0.060
-0.187
-2.338
0.019
volatility
current
specific
-0.004
-0.007
-0.085
0.932
volatility
ideal
specific
-0.023
-0.072
-0.815
0.415
curiosity
current
general
0.036
0.097
1.197
0.231
curiosity
ideal
general
0.017
0.084
0.961
0.336
curiosity
current
specific
-0.060
-0.156
-1.783
0.075
curiosity
ideal
specific
-0.035
-0.168
-1.621
0.105
aesthetic
current
general
-0.002
-0.075
-1.202
0.229
aesthetic
ideal
general
0.001
0.033
0.440
0.660
aesthetic
current
specific
0.000
-0.013
-0.188
0.851
aesthetic
ideal
specific
0.000
-0.019
-0.271
0.786
imagination
current
general
0.031
0.082
1.013
0.311
imagination
ideal
general
-0.016
-0.076
-0.732
0.464
imagination
current
specific
-0.032
-0.084
-1.001
0.317
imagination
ideal
specific
0.006
0.027
0.262
0.793
Looking at the facets, we find four covariances that significantly differ from zero (relatively unsystematic across facets / current-ideal / goal dimension):
- Changes in current-level sociability covary with the general acceptance goal.
- Further, changes in current-level organization and responsibility covary with the respective specific facet acceptance goal.
- Changes in ideal-level volatility covary with the general acceptance goal
6.6 H6: Desire to change and frequency of self-improvement behaviors as moderators of change in personality in self-improvement group (H2 in paper)
Desire to change and frequency of self-improvement behaviors measured at the follow-up assessment will be positively related to change in current-self ratings in the self-improvement group.
To test this hypothesis, we will estimate the mean-level difference in current trait ratings between baseline and follow up using a latent change model for each big five domain and facet. We will then include two moderators. The first will indicate how much the individual wanted to change on a given big five domain or facet. The second will indicate their frequency of self-improvement behaviors. We will estimate the main effects of each of these variables and the interaction between these variables on the trait change score.
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sb_mod <- df_sbsa %>%filter(rando=="Self-Improvement") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sb07", # facet-specific change goals"sb04"))) %>%# frequency self-improvement behaviorspivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with(c("sb07", "sb04")))) %>%select(-c(sb07_01_t2, sb07_02_t2, sb07_03_t2, sb07_04_t2, sb07_05_t2, sb07_06_t2, sb07_07_t2, sb07_08_t2, sb07_09_t2, sb07_10_t2, sb07_11_t2, sb07_12_t2, sb07_13_t2, sb07_14_t2, sb07_15_t2, sb04_01_t1, sb04_02_t1, sb04_03_t1)) # frequency of self-improvement behaviors measured at T2# standardize goal variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sb_mod <- df_sbsa_wide_pers_sb_mod %>%mutate_at(c(colnames(df_sbsa_wide_pers_sb_mod)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sb_mod)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sb_mod <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Improvement") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sb_mod)
6.6.1 Big Five traits (run models)
Run models for all traits with a template & loop:
Show the code
# create templates:# 1st, for facet-specific change goalstrait_template_mod_goal <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingsgoals =~ 1*ind_goal_1 + ind_goal_2 + ind_goal_3 # latent variable for moderatortrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionaltrait_t1 ~ goals # This estimates the moderation effect on personality at T1d_trait_1 ~ goals # This estimates the moderation effect on the change scoregoals ~ 0*1 # This fixes the intercept of the moderator to 0goals ~~ goals # This estimates the variance of the moderatorind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind_goal_1 ~~ ind_goal_1ind_goal_2 ~~ ind_goal_2ind_goal_3 ~~ ind_goal_3ind_goal_1 ~ 1ind_goal_2 ~ 1ind_goal_3 ~ 1'trait_facets_nrs <-list(a1 =c(1:3), b2 =c(4:6), c3 =c(7:9), d4 =c(10:12), e5 =c(13:15)) # matching facet nrs to traits # loop across 5 traits -> change in current-self ratingsfor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current# items = paste0(bfi_versions[[5]], item_nrs) # using parcels instead! mod_names =paste0("sb07_", str_pad(trait_facets_nrs[[i]], 2, pad ="0"), "_t1") template_filled <-str_replace_all(trait_template_mod_goal, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"), "ind_goal_1"= mod_names[1], "ind_goal_2"= mod_names[2], "ind_goal_3"= mod_names[3])) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp6")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp6")), trait_model_fit))} # loop across 5 traits -> change in *ideal*-self ratings (not hypothesis-conform)for (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current# items = paste0(bfi_versions[[5]], item_nrs) # using parcels instead! mod_names =paste0("sb07_", str_pad(trait_facets_nrs[[i]], 2, pad ="0"), "_t1") template_filled <-str_replace_all(trait_template_mod_goal, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), # ideal instead of current!"ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"), "ind_goal_1"= mod_names[1], "ind_goal_2"= mod_names[2], "ind_goal_3"= mod_names[3])) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp6")), template_filled)) # ideal instead of curreval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp6")), trait_model_fit))} # 2nd, for frequency of self-improvement behaviortrait_template_mod_frequ <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for extra_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsfrequ =~ 1*sb04_01_t2 + sb04_02_t2 + sb04_03_t2 # latent variable for moderatortrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionaltrait_t1 ~ frequ # This estimates the moderation effect on personality at T1d_trait_1 ~ frequ # This estimates the moderation effect on the change scorefrequ ~ 0*1 # This fixes the intercept of the moderator to 0frequ ~~ frequ # This estimates the variance of the moderatorind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2sb04_01_t2 ~~ sb04_01_t2sb04_02_t2 ~~ sb04_02_t2sb04_03_t2 ~~ sb04_03_t2sb04_01_t2 ~ 1sb04_02_t2 ~ 1sb04_03_t2 ~ 1'# loop across 5 traits -> change in current-self ratingsfor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current# items = paste0(bfi_versions[[5]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_mod_frequ, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp6")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp6")), trait_model_fit))} # loop across 5 traits -> change in *ideal*-self ratings (not hypothesis-conform)for (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current# items = paste0(bfi_versions[[5]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_mod_frequ, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), # ideal instead of current!"ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp6")), template_filled)) # ideal instead of curreval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp6")), trait_model_fit))}
6.6.2 Big Five traits (current self)
6.6.2.1 Extraversion: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with the extraversion change score (current-self) is not significantly different from zero, b = 0.038, p = 0.361.
6.6.2.3 Agreeableness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the agreeableness change score (current-self) is not significantly different from zero, b = 0.069, p = 0.057.
6.6.2.4 Agreeableness: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the agreeableness change score (current-self) is not significantly different from zero, b = 0.048, p = 0.108.
6.6.2.5 Conscientiousness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with the conscientiousness change score (current-self) is not significantly different from zero, b = 0.064, p = 0.079.
6.6.2.7 Neuroticism: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the neuroticism change score (current-self) is not significantly different from zero, b = -0.07, p = 0.153.
6.6.2.8 Neuroticism: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the neuroticism change score (current-self) is not significantly different from zero, b = -0.077, p = 0.157.
6.6.2.9 Openness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the extraversion change score (ideal-self) is not significantly different from zero, b = -0.002, p = 0.978.
6.6.3.2 Extraversion: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the extraversion change score (ideal-self) is not significantly different from zero, b = 0.034, p = 0.412.
6.6.3.3 Agreeableness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the agreeableness change score (ideal-self) is not significantly different from zero, b = -0.039, p = 0.302.
6.6.3.4 Agreeableness: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the agreeableness change score (ideal-self) is not significantly different from zero, b = -0.005, p = 0.872.
6.6.3.5 Conscientiousness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the conscientiousness change score (ideal-self) is not significantly different from zero, b = -0.007, p = 0.852.
6.6.3.6 Conscientiousness: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the conscientiousness change score (ideal-self) is not significantly different from zero, b = -0.002, p = 0.958.
6.6.3.7 Neuroticism: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the neuroticism change score (ideal-self) is not significantly different from zero, b = -0.006, p = 0.861.
6.6.3.8 Neuroticism: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the neuroticism change score (ideal-self) is not significantly different from zero, b = -0.067, p = 0.064.
6.6.3.9 Openness: specific, facet-level change goals as moderator of change
Results summary (goals = trait/facet specific change goal):
The moderation effect of specific, facet-level change goals with the openness change score (ideal-self) is not significantly different from zero, b = 0.057, p = 0.266.
6.6.3.10 Openness: frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the openness change score (ideal-self) is not significantly different from zero, b = 0.035, p = 0.296.
6.6.4 Big Five facets (run models)
Run models for all facets with a template & loop:
Show the code
# create templates:# 1st, for facet-specific change goalfacet_template_mod_goal <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalfacet_t1 ~ ind_goal # This estimates the moderation effect on personality at T1d_facet_1 ~ ind_goal # This estimates the moderation effect on the change scoreind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ind_goal ~~ ind_goalind_goal ~ 1'# loop across 15 facets -> change in current-self ratingsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[5]], item_nrs) mod_name =paste0("sb07_", str_pad(i-5, 2, pad ="0"), "_t1") template_filled <-str_replace_all(facet_template_mod_goal, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= mod_name)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp6")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp6")), facet_model_fit))} # loop across 15 facets -> change in ideal-self ratingsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[6]], item_nrs) # ideal mod_name =paste0("sb07_", str_pad(i-5, 2, pad ="0"), "_t1") template_filled <-str_replace_all(facet_template_mod_goal, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= mod_name)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp6")), template_filled)) # idealeval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp6")), facet_model_fit))} # 2nd, for frequency of self-improvement behaviorfacet_template_mod_frequ <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)frequ =~ 1*sb04_01_t2 + sb04_02_t2 + sb04_03_t2 # latent variable for moderatorfacet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalfacet_t1 ~ frequ # This estimates the moderation effect on personality at T1d_facet_1 ~ frequ # This estimates the moderation effect on the change scorefrequ ~ 0*1 # This fixes the intercept of the moderator to 0frequ ~~ frequ # This estimates the variance of the moderatorind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2sb04_01_t2 ~~ sb04_01_t2sb04_02_t2 ~~ sb04_02_t2sb04_03_t2 ~~ sb04_03_t2sb04_01_t2 ~ 1sb04_02_t2 ~ 1sb04_03_t2 ~ 1'# loop across 15 facets -> change in current-self ratingsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[5]], item_nrs) template_filled <-str_replace_all(facet_template_mod_frequ, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp6")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp6")), facet_model_fit))} # loop across 15 facets -> change in ideal-self ratingsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[6]], item_nrs) # ideal template_filled <-str_replace_all(facet_template_mod_frequ, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp6")), template_filled)) # idealeval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp6")), facet_model_fit))}
6.6.5 Big Five facets (current self)
6.6.5.1 Sociability - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with sociability change score (current-self) is not significantly different from zero, b = -0.011, p = 0.857.
6.6.5.3 Assertiveness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the assertiveness change score (current-self) is not significantly different from zero, b = 0.045, p = 0.124.
6.6.5.4 Assertiveness - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the assertiveness change score (current-self) is not significantly different from zero, b = 0.055, p = 0.216.
6.6.5.5 Energy - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the energy change score (current-self) is not significantly different from zero, b = -0.024, p = 0.134.
6.6.5.6 Energy - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the energy change score (current-self) is not significantly different from zero, b = -0.025, p = 0.466.
6.6.5.7 Compassion - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the compassion change score (current-self) is not significantly different from zero, b = 0.052, p = 0.123.
6.6.5.8 Compassion - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the compassion change score (current-self) is not significantly different from zero, b = 0.083, p = 0.102.
6.6.5.9 Respectfulness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with the respectfulness change score (current-self) is not significantly different from zero, b = 0.019, p = 0.664.
6.6.5.11 Trust - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the trust change score (current-self) is not significantly different from zero, b = -0.017, p = 0.613.
6.6.5.12 Trust - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the self-improvement behaviors with the trust change score (current-self) is not significantly different from zero, b = -0.056, p = 0.284.
6.6.5.13 Organization - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with the organization change score (current-self) is not significantly different from zero, b = -0.04, p = 0.504.
6.6.5.15 Productiveness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the frequency of self-improvement behaviors with the productiveness change score (current-self) is not significantly different from zero, b = -0.082, p = 0.094.
6.6.5.17 Responsibility - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the responsibility change score (current-self) is not significantly different from zero, b = 0.012, p = 0.549.
6.6.5.18 Responsibility - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the responsibility change score (current-self) is not significantly different from zero, b = 0.042, p = 0.212.
6.6.5.19 Anxiety - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the anxiety change score (current-self) is not significantly different from zero, b = 0.071, p = 0.1.
6.6.5.20 Anxiety - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the anxiety change score (current-self) is not significantly different from zero, b = 0.109, p = 0.133.
6.6.5.21 Depression - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the depression change score (current-self) is not significantly different from zero, b = 0.031, p = 0.227.
6.6.5.22 Depression - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the depression change score (current-self) is not significantly different from zero, b = 0.022, p = 0.628.
6.6.5.23 Volatility - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the volatility change score (current-self) is not significantly different from zero, b = -0.08, p = 0.068.
6.6.5.24 Volatility - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the volatility change score (current-self) is significantly different from zero, b = -0.077, p = 0.245.
6.6.5.25 Curiosity - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the curiosity change score (current-self) is not significantly different from zero, b = 0.012, p = 0.707.
6.6.5.26 Curiosity - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the curiosity change score (current-self) is not significantly different from zero, b = 0.065, p = 0.184.
6.6.5.27 Aesthetic - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
(here there were some convergence problems with the standard model that the loop tried to fit)
mi_lcs_aesth_curr_specif_hyp6 <-'aesth_t1 =~ 1*bf05_05_t1 + lamb2*bf05_20_t1 + lamb3*bf05_35_t1 + lamb4*bf05_50_t1 # This specifies the measurement model for aesth at T1aesth_t2 =~ 1*bf05_05_t2 + lamb2*bf05_20_t2 + lamb3*bf05_35_t2 + lamb4*bf05_50_t2 # This specifies the measurement model for aesth at T2 (with equality constraints)aesth_t2 ~ 1*aesth_t1 # This parameter regresses aesth_t2 perfectly on aesth_t1d_aesth_1 =~ 1*aesth_t2 # This defines the latent change score factor as measured perfectly by scores on aesth_t2aesth_t2 ~ 0*1 # This line constrains the intercept of aesth_t2 to 0aesth_t2 ~~ 0*aesth_t2 # This fixes the variance of aesth_t2 to 0d_aesth_1 ~ 1 # This estimates the intercept of the change score aesth_t1 ~ 1 # This estimates the intercept of aesth_t1 d_aesth_1 ~~ d_aesth_1 # This estimates the variance of the change scores aesth_t1 ~~ d_aesth_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalaesth_t1 ~ sb07_14_t1 # This estimates the moderation effect on personality at T1d_aesth_1 ~ sb07_14_t1 # This estimates the moderation effect on the change scorebf05_05_t1 ~~ bf05_05_t2 # This allows residual covariance on indicator X1 across T1 and T2bf05_20_t1 ~~ bf05_20_t2 # This allows residual covariance on indicator X2 across T1 and T2bf05_35_t1 ~~ bf05_35_t2 # This allows residual covariance on indicator X3 across T1 and T2bf05_50_t1 ~~ bf05_50_t2 # This allows residual covariance on indicator X4 across T1 and T2bf05_05_t1 ~~ res1*bf05_05_t1 # This allows residual variance on indicator X1 at T1 bf05_20_t1 ~~ res2*bf05_20_t1 # This allows residual variance on indicator X2 at T1bf05_35_t1 ~~ res3*bf05_35_t1 # This allows residual variance on indicator X3 at T1bf05_50_t1 ~~ res4*bf05_50_t1 # This allows residual variance on indicator X4 at T1bf05_05_t2 ~~ res1*bf05_05_t2 # This allows residual variance on indicator X1 at T2 bf05_20_t2 ~~ res2*bf05_20_t2 # This allows residual variance on indicator X2 at T2 bf05_35_t2 ~~ res3*bf05_35_t2 # This allows residual variance on indicator X3 at T2bf05_50_t2 ~~ res4*bf05_50_t2 # This allows residual variance on indicator X4 at T2bf05_05_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1bf05_20_t1 ~ m2*1 # This estimates the intercept of X2 at T1bf05_35_t1 ~ m3*1 # This estimates the intercept of X3 at T1bf05_50_t1 ~ m4*1 # This estimates the intercept of X4 at T1bf05_05_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2bf05_20_t2 ~ m2*1 # This estimates the intercept of X2 at T2bf05_35_t2 ~ m3*1 # This estimates the intercept of X3 at T2bf05_50_t2 ~ m4*1 # This estimates the intercept of X4 at T2sb07_14_t1 ~~ sb07_14_t1sb07_14_t1 ~ 1'fit_mi_lcs_aesth_curr_specif_hyp6 <-lavaan(mi_lcs_aesth_curr_specif_hyp6, data=df_sbsa_wide_pers_sb %>%filter(!is.na(bf05_05_t1) &!is.na(bf05_05_t2)), estimator='mlr', fixed.x=FALSE, missing="fiml")
Warning in lav_object_post_check(object): lavaan WARNING: covariance matrix of latent variables
is not positive definite;
use lavInspect(fit, "cov.lv") to investigate.
# This model did not converge properly with missing data and FIML -> no problem when only using complete datasummary(fit_mi_lcs_aesth_curr_specif_hyp6, fit.measures=TRUE, standardized=TRUE, rsquare=F)
The moderation effect of the facet-specific change goal with the aesthetic change score (current-self) is not significantly different from zero, b = 0.022, p = 0.351.
6.6.5.28 Aesthetic - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
(here there were some convergence problems with the standard model that the loop tried to fit)
mi_lcs_aesth_curr_frequ_hyp6 <-'aesth_t1 =~ 1*bf05_05_t1 + lamb2*bf05_20_t1 + lamb3*bf05_35_t1 + lamb4*bf05_50_t1 # This specifies the measurement model for aesth at T1aesth_t2 =~ 1*bf05_05_t2 + lamb2*bf05_20_t2 + lamb3*bf05_35_t2 + lamb4*bf05_50_t2 # This specifies the measurement model for aesth at T2 (with equality constraints)frequ =~ 1*sb04_01_t2 + sb04_02_t2 + sb04_03_t2 # latent variable for moderatoraesth_t2 ~ 1*aesth_t1 # This parameter regresses aesth_t2 perfectly on aesth_t1d_aesth_1 =~ 1*aesth_t2 # This defines the latent change score factor as measured perfectly by scores on aesth_t2aesth_t2 ~ 0*1 # This line constrains the intercept of aesth_t2 to 0aesth_t2 ~~ 0*aesth_t2 # This fixes the variance of aesth_t2 to 0d_aesth_1 ~ 1 # This estimates the intercept of the change score aesth_t1 ~ 1 # This estimates the intercept of aesth_t1 d_aesth_1 ~~ d_aesth_1 # This estimates the variance of the change scores aesth_t1 ~~ aesth_t1 # This estimates the variance of aesth_t1 aesth_t1 ~~ d_aesth_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalaesth_t1 ~ frequ # This estimates the moderation effect on personality at T1d_aesth_1 ~ frequ # This estimates the moderation effect on the change scorefrequ ~ 0*1 # This fixes the intercept of the moderator to 0frequ ~~ frequ # This estimates the variance of the moderatorbf05_05_t1 ~~ bf05_05_t2 # This allows residual covariance on indicator X1 across T1 and T2bf05_20_t1 ~~ bf05_20_t2 # This allows residual covariance on indicator X2 across T1 and T2bf05_35_t1 ~~ bf05_35_t2 # This allows residual covariance on indicator X3 across T1 and T2bf05_50_t1 ~~ bf05_50_t2 # This allows residual covariance on indicator X4 across T1 and T2bf05_05_t1 ~~ res1*bf05_05_t1 # This allows residual variance on indicator X1 at T1 bf05_20_t1 ~~ res2*bf05_20_t1 # This allows residual variance on indicator X2 at T1bf05_35_t1 ~~ res3*bf05_35_t1 # This allows residual variance on indicator X3 at T1bf05_50_t1 ~~ res4*bf05_50_t1 # This allows residual variance on indicator X4 at T1bf05_05_t2 ~~ res1*bf05_05_t2 # This allows residual variance on indicator X1 at T2 bf05_20_t2 ~~ res2*bf05_20_t2 # This allows residual variance on indicator X2 at T2 bf05_35_t2 ~~ res3*bf05_35_t2 # This allows residual variance on indicator X3 at T2bf05_50_t2 ~~ res4*bf05_50_t2 # This allows residual variance on indicator X4 at T2bf05_05_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1bf05_20_t1 ~ m2*1 # This estimates the intercept of X2 at T1bf05_35_t1 ~ m3*1 # This estimates the intercept of X3 at T1bf05_50_t1 ~ m4*1 # This estimates the intercept of X4 at T1bf05_05_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2bf05_20_t2 ~ m2*1 # This estimates the intercept of X2 at T2bf05_35_t2 ~ m3*1 # This estimates the intercept of X3 at T2bf05_50_t2 ~ m4*1 # This estimates the intercept of X4 at T2sb04_01_t2 ~~ sb04_01_t2sb04_02_t2 ~~ sb04_02_t2sb04_03_t2 ~~ sb04_03_t2sb04_01_t2 ~ 1sb04_02_t2 ~ 1sb04_03_t2 ~ 1'fit_mi_lcs_aesth_curr_frequ_hyp6 <-lavaan(mi_lcs_aesth_curr_frequ_hyp6, data=df_sbsa_wide_pers_sb_mod %>%filter(!is.na(bf05_05_t1) &!is.na(bf05_05_t2)), estimator='mlr', fixed.x=FALSE, missing="fiml")# This model did not converge properly with missing data and FIML -> no problem when only using complete datasummary(fit_mi_lcs_aesth_curr_frequ_hyp6, fit.measures=TRUE, standardized=TRUE, rsquare=F)
The moderation effect of the frequency of self-improvement behaviors with the aesthetic change score (current-self) is not significantly different from zero, b = 0.005, p = 0.088.
6.6.5.29 Imagination - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the imagination change score (current-self) is not significantly different from zero, b = 0.064, p = 0.054.
6.6.5.30 Imagination - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the imagination change score (current-self) is not significantly different from zero, b = 0.07, p = 0.199.
6.6.6 Big Five facets (ideal self)
6.6.6.1 Sociability - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the sociability change score (ideal-self) is not significantly different from zero, b = 0.008, p = 0.755.
6.6.6.2 Sociability - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with sociability change score (ideal-self) is not significantly different from zero, b = 0.037, p = 0.387.
6.6.6.3 Assertiveness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the assertiveness change score (ideal-self) is not significantly different from zero, b = -0.025, p = 0.206.
6.6.6.4 Assertiveness - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the assertiveness change score (ideal-self) is not significantly different from zero, b = -0.006, p = 0.84.
6.6.6.5 Energy - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the energy change score (ideal-self) is not significantly different from zero, b = 0.052, p = 0.064.
6.6.6.6 Energy - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the energy change score (ideal-self) is not significantly different from zero, b = -0.031, p = 0.422.
6.6.6.7 Compassion - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the compassion change score (ideal-self) is not significantly different from zero, b = 0.023, p = 0.618.
6.6.6.8 Compassion - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the compassion change score (ideal-self) is not significantly different from zero, b = 0.076, p = 0.269.
6.6.6.9 Respectfulness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the respectfulness change score (ideal-self) is not significantly different from zero, b = -0.016, p = 0.563.
6.6.6.10 Respectfulness - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the respectfulness change score (ideal-self) is not significantly different from zero, b = -0.019, p = 0.616.
6.6.6.11 Trust - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the trust change score (ideal-self) is not significantly different from zero, b = 0.038, p = 0.109.
6.6.6.12 Trust - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the self-improvement behaviors with the trust change score (ideal-self) is not significantly different from zero, b = -0.001, p = 0.983.
6.6.6.13 Organization - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the organization change score (ideal-self) is not significantly different from zero, b = 0.024, p = 0.451.
6.6.6.14 Organization - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the organization change score (ideal-self) is not significantly different from zero (at p < .001), b = 0.018, p = 0.66.
6.6.6.15 Productiveness - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the productiveness change score (ideal-self) is not significantly different from zero, b = 0.026, p = 0.408.
6.6.6.16 Productiveness - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the productiveness change score (ideal-self) is not significantly different from zero, b = -0.012, p = 0.769.
6.6.6.17 Responsibility - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the responsibility change score (ideal-self) is not significantly different from zero, b = 0.021, p = 0.484.
6.6.6.18 Responsibility - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the responsibility change score (ideal-self) is not significantly different from zero, b = -0.006, p = 0.89.
6.6.6.19 Anxiety - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the anxiety change score (ideal-self) is not significantly different from zero, b = 0.02, p = 0.29.
6.6.6.20 Anxiety - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the anxiety change score (ideal-self) is not significantly different from zero, b = 0.04, p = 0.267.
6.6.6.21 Depression - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the depression change score (ideal-self) is not significantly different from zero, b = -0.013, p = 0.621.
6.6.6.22 Depression - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the depression change score (ideal-self) is not significantly different from zero, b = 0.028, p = 0.512.
6.6.6.23 Volatility - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the volatility change score (ideal-self) is not significantly different from zero, b = -0.024, p = 0.458.
6.6.6.24 Volatility - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the volatility change score (ideal-self) is not significantly different from zero, b = -0.081, p = 0.088.
6.6.6.25 Curiosity - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the curiosity change score (ideal-self) is not significantly different from zero, b = 0.019, p = 0.5.
6.6.6.26 Curiosity - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the curiosity change score (ideal-self) is not significantly different from zero, b = 0.039, p = 0.238.
6.6.6.27 Aesthetic - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the aesthetic change score (ideal-self) is not significantly different from zero, b = 0.013, p = 0.206.
6.6.6.28 Aesthetic - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the aesthetic change score (ideal-self) is not significantly different from zero, b = 0.002, p = 0.817.
6.6.6.29 Imagination - specific, facet-level change goal as moderator of change
Results summary (sb07_xx_t1 = trait/facet specific change goal):
The moderation effect of the facet-specific change goal with the imagination change score (ideal-self) is not significantly different from zero, b = -0.044, p = 0.16.
6.6.6.30 Imagination - frequency of self-improvement behaviors as moderator of change
Results summary (frequ = frequency of self-improvement behavior):
The moderation effect of the frequency of self-improvement behaviors with the imagination change score (ideal-self) is not significantly different from zero, b = 0.064, p = 0.3.
Results summary across the Big Five traits: trait-specific change goals (goals) and frequency of self-improvement behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp6[1:10, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
extraversion
goals
0.134
0.380
0.000
0.156
0.264
0.022
extraversion
frequency
0.132
0.381
0.000
0.038
0.080
0.361
agreeableness
goals
0.075
0.355
0.000
0.069
0.198
0.057
agreeableness
frequency
0.078
0.358
0.000
0.048
0.164
0.108
conscientiousness
goals
0.123
0.342
0.000
0.085
0.195
0.010
conscientiousness
frequency
0.124
0.342
0.000
0.064
0.130
0.079
neuroticism
goals
-0.211
-0.425
0.000
-0.070
-0.108
0.153
neuroticism
frequency
-0.211
-0.429
0.000
-0.077
-0.115
0.157
openness
goals
0.058
0.294
0.001
0.119
0.290
0.007
openness
frequency
0.056
0.291
0.002
0.068
0.254
0.032
Four moderator effects significantly differ from zero:
changes in current-level extraversion are moderated by the trait-specific change goals
changes in current-level conscientiousness are moderated by the trait-specific change goals
changes in current-level openness are moderated by the trait-specific change goals
changes in current-level openness are moderated by the frequency of self-improvement behaviors
Results summary across the Big Five facets: trait-specific change goals (goals) and frequency of self-improvement behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp6[11:40, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
sociability
goals
0.184
0.345
0.000
0.084
0.158
0.033
sociability
frequency
0.179
0.340
0.000
-0.011
-0.016
0.857
assertiveness
goals
0.059
0.235
0.036
0.045
0.177
0.124
assertiveness
frequency
0.056
0.228
0.039
0.055
0.163
0.216
energy
goals
-0.085
-0.412
0.000
-0.024
-0.118
0.134
energy
frequency
-0.091
-0.418
0.000
-0.025
-0.082
0.466
compassion
goals
0.103
0.413
0.002
0.052
0.207
0.123
compassion
frequency
0.103
0.416
0.002
0.083
0.247
0.102
respectfulness
goals
0.067
0.200
0.017
0.102
0.307
0.001
respectfulness
frequency
0.065
0.199
0.019
0.019
0.043
0.664
trust
goals
-0.112
-0.343
0.002
-0.017
-0.052
0.613
trust
frequency
-0.111
-0.345
0.002
-0.056
-0.128
0.284
organization
goals
-0.145
-0.270
0.000
-0.128
-0.239
0.004
organization
frequency
-0.138
-0.267
0.001
-0.040
-0.057
0.504
productiveness
goals
-0.155
-0.410
0.000
-0.072
-0.189
0.028
productiveness
frequency
-0.152
-0.406
0.000
-0.082
-0.160
0.094
responsibility
goals
0.041
0.199
0.074
0.012
0.061
0.549
responsibility
frequency
0.042
0.202
0.075
0.042
0.149
0.212
anxiety
goals
0.207
0.370
0.000
0.071
0.126
0.100
anxiety
frequency
0.214
0.375
0.000
0.109
0.141
0.133
depression
goals
0.145
0.403
0.000
0.031
0.086
0.227
depression
frequency
0.150
0.409
0.000
0.022
0.044
0.628
volatility
goals
-0.173
-0.335
0.000
-0.080
-0.153
0.068
volatility
frequency
-0.174
-0.335
0.000
-0.077
-0.109
0.245
curiosity
goals
0.065
0.326
0.017
0.012
0.059
0.707
curiosity
frequency
0.065
0.325
0.016
0.065
0.236
0.184
aesthetic
goals
0.007
0.053
0.556
0.022
0.169
0.351
aesthetic
frequency
0.002
0.068
0.360
0.005
0.156
0.088
imagination
goals
0.099
0.281
0.002
0.064
0.183
0.054
imagination
frequency
0.098
0.279
0.003
0.070
0.144
0.199
Looking at the facets, we find three moderator effects that significantly differ from zero (at p < .05):
Within extraversion, we find a significant moderation effect of the change goal for the facet sociability.
Within agreeableness, we find a significant moderation effect of the change goal in the facets respectfulness, organization, and productiveness (although partly in an unexpected direction).
Results summary across the Big Five traits: trait-specific change goals (goals) and frequency of self-improvement behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp6_ideal[1:10, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
extraversion
goals
-0.029
-0.099
0.258
-0.002
-0.004
0.978
extraversion
frequency
-0.028
-0.095
0.277
0.034
0.086
0.412
agreeableness
goals
0.032
0.115
0.101
-0.039
-0.091
0.302
agreeableness
frequency
0.032
0.114
0.105
-0.005
-0.013
0.872
conscientiousness
goals
0.024
0.071
0.319
-0.007
-0.016
0.852
conscientiousness
frequency
0.024
0.071
0.320
-0.002
-0.004
0.958
neuroticism
goals
-0.042
-0.127
0.062
-0.006
-0.014
0.861
neuroticism
frequency
-0.042
-0.128
0.062
-0.067
-0.153
0.064
openness
goals
0.004
0.015
0.858
0.057
0.110
0.266
openness
frequency
0.003
0.013
0.876
0.035
0.100
0.296
No significant moderation effects at the domain level.
Results summary across the Big Five facets: trait-specific change goals (goals) and frequency of self-improvement behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp6_ideal[11:40, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
sociability
goals
-0.038
-0.163
0.163
0.008
0.035
0.755
sociability
frequency
-0.036
-0.154
0.191
0.037
0.118
0.387
assertiveness
goals
-0.035
-0.160
0.090
-0.025
-0.112
0.206
assertiveness
frequency
-0.032
-0.156
0.093
-0.006
-0.023
0.840
energy
goals
0.016
0.061
0.503
0.052
0.204
0.064
energy
frequency
0.015
0.062
0.501
-0.031
-0.091
0.422
compassion
goals
0.016
0.033
0.708
0.023
0.050
0.618
compassion
frequency
0.015
0.032
0.719
0.076
0.119
0.269
respectfulness
goals
0.041
0.136
0.132
-0.016
-0.053
0.563
respectfulness
frequency
0.041
0.135
0.136
-0.019
-0.047
0.616
trust
goals
-0.020
-0.083
0.382
0.038
0.154
0.109
trust
frequency
-0.020
-0.081
0.398
-0.001
-0.002
0.983
organization
goals
-0.042
-0.125
0.192
0.024
0.070
0.451
organization
frequency
-0.042
-0.126
0.189
0.018
0.040
0.660
productiveness
goals
-0.021
-0.066
0.422
0.026
0.079
0.408
productiveness
frequency
-0.021
-0.066
0.422
-0.012
-0.028
0.769
responsibility
goals
-0.018
-0.066
0.542
0.021
0.076
0.484
responsibility
frequency
-0.019
-0.068
0.527
-0.006
-0.017
0.890
anxiety
goals
0.038
0.168
0.079
0.020
0.088
0.290
anxiety
frequency
0.038
0.168
0.081
0.040
0.130
0.267
depression
goals
0.026
0.081
0.307
-0.013
-0.039
0.621
depression
frequency
0.027
0.083
0.297
0.028
0.064
0.512
volatility
goals
-0.008
-0.027
0.800
-0.024
-0.077
0.458
volatility
frequency
-0.008
-0.027
0.804
-0.081
-0.199
0.088
curiosity
goals
0.002
0.132
0.916
0.019
1.087
0.500
curiosity
frequency
0.002
0.089
0.910
0.039
1.014
0.238
aesthetic
goals
-0.007
-0.096
0.311
0.013
0.162
0.206
aesthetic
frequency
-0.008
-0.105
0.293
0.002
0.022
0.817
imagination
goals
0.021
0.049
0.527
-0.044
-0.103
0.160
imagination
frequency
0.021
0.049
0.530
0.064
0.109
0.300
No significant moderation effects at the facet level (at p < .001).
6.7 H7: Desire to change and frequency of self-acceptance behaviors as moderators of change in personality in self-acceptance group (H3 in paper)
Desire to change and frequency of self-acceptance behaviors measured at the follow-up assessment will be positively related to change in ideal-self ratings in the self-acceptance group.
To test this hypothesis, we will estimate the mean-level difference in ideal trait ratings between baseline and follow up using a latent change model for each big five domain and facet. We will then include two moderators. The first will indicate how much the individual wanted to accept themselves on a given big five domain or facet. The second will indicate their frequency of self-acceptance behaviors. We will estimate the main effects of each of these variables and the interaction between these variables on the trait change score.
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sa_mod <- df_sbsa %>%filter(rando=="Self-Acceptance") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sa07", # facet-specific acceptance goals"sa04"))) %>%# frequency self-acceptance behaviorspivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with(c("sa07", "sa04")))) %>%select(-c(sa07_01_t2, sa07_02_t2, sa07_03_t2, sa07_04_t2, sa07_05_t2, sa07_06_t2, sa07_07_t2, sa07_08_t2, sa07_09_t2, sa07_10_t2, sa07_11_t2, sa07_12_t2, sa07_13_t2, sa07_14_t2, sa07_15_t2, sa04_01_t1, sa04_02_t1, sa04_03_t1)) # frequency of self-acceptance behaviors measured at T2# standardize goal variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sa_mod <- df_sbsa_wide_pers_sa_mod %>%mutate_at(c(colnames(df_sbsa_wide_pers_sa_mod)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sa)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sa_mod <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Acceptance") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sa_mod)
6.7.1 Big Five traits (run models)
Run models for all traits with a template & loop:
Show the code
# create templates:# 1st, for facet-specific acceptance goalstrait_template_mod_goal_accept <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingsgoals =~ 1*ind_goal_1 + ind_goal_2 + ind_goal_3 # latent variable for moderatortrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionaltrait_t1 ~ goals # This estimates the moderation effect on personality at T1d_trait_1 ~ goals # This estimates the moderation effect on the change scoregoals ~ 0*1 # This fixes the intercept of the moderator to 0goals ~~ goals # This estimates the variance of the moderatorind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind_goal_1 ~~ ind_goal_1ind_goal_2 ~~ ind_goal_2ind_goal_3 ~~ ind_goal_3ind_goal_1 ~ 1ind_goal_2 ~ 1ind_goal_3 ~ 1'trait_facets_nrs <-list(a1 =c(1:3), b2 =c(4:6), c3 =c(7:9), d4 =c(10:12), e5 =c(13:15)) # matching facet nrs to traits # loop across 5 traits -> change in ideal selffor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal (6 = ideal)# items = paste0(bfi_versions[[6]], item_nrs) # using parcels instead! mod_names =paste0("sa07_", str_pad(trait_facets_nrs[[i]], 2, pad ="0"), "_t1") template_filled <-str_replace_all(trait_template_mod_goal_accept, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"),"ind_goal_1"= mod_names[1], "ind_goal_2"= mod_names[2], "ind_goal_3"= mod_names[3])) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp7")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp7")), trait_model_fit))} # loop across 5 traits -> change in current selffor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal (6 = ideal)# items = paste0(bfi_versions[[6]], item_nrs) # using parcels instead! mod_names =paste0("sa07_", str_pad(trait_facets_nrs[[i]], 2, pad ="0"), "_t1") template_filled <-str_replace_all(trait_template_mod_goal_accept, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), # current instead of ideal"ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"),"ind_goal_1"= mod_names[1], "ind_goal_2"= mod_names[2], "ind_goal_3"= mod_names[3])) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp7")), template_filled)) # current instead of idealeval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp7")), trait_model_fit))} # 2nd, for frequency of self-acceptance behaviortrait_template_mod_frequ_accept <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for extra_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for extra_t2 with the equality constrained factor loadingsfrequ =~ 1*sa04_01_t2 + sa04_02_t2 + sa04_03_t2 # latent variable for moderatortrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionaltrait_t1 ~ frequ # This estimates the moderation effect on personality at T1d_trait_1 ~ frequ # This estimates the moderation effect on the change scorefrequ ~ 0*1 # This fixes the intercept of the moderator to 0frequ ~~ frequ # This estimates the variance of the moderatorind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2sa04_01_t2 ~~ sa04_01_t2sa04_02_t2 ~~ sa04_02_t2sa04_03_t2 ~~ sa04_03_t2sa04_01_t2 ~ 1sa04_02_t2 ~ 1sa04_03_t2 ~ 1'# loop across 5 traits -> change in ideal selffor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal# items = paste0(bfi_versions[[6]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_mod_frequ_accept, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp7")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp7")), trait_model_fit))} # loop across 5 traits -> change in current selffor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal# items = paste0(bfi_versions[[6]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_mod_frequ_accept, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), # current instead of ideal"ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp7")), template_filled)) # current instead of idealeval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp7")), trait_model_fit))}
6.7.2 Big Five traits (ideal self)
6.7.2.1 Extraversion: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the extraversion change score (ideal-self) is not significantly different from zero, b = -0.059, p = 0.383.
6.7.2.2 Extraversion: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-acceptance behaviors with the extraversion change score (ideal-self) is not significantly different from zero, b = 0.012, p = 0.788.
6.7.2.3 Agreeableness: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the agreeableness change score (ideal-self) is not significantly different from zero, b = 0.044, p = 0.491.
6.7.2.4 Agreeableness: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-acceptance behaviors with the agreeableness change score (ideal-self) is not significantly different from zero, b = 0.036, p = 0.304.
6.7.2.5 Conscientiousness: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the conscientiousness change score (ideal-self) is not significantly different from zero, b = -0.001, p = 0.985.
6.7.2.6 Conscientiousness: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-acceptance behaviors with the conscientiousness change score (ideal-self) is not significantly different from zero, b = 0.024, p = 0.558.
6.7.2.7 Neuroticism: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the neuroticism change score (ideal-self) is not significantly different from zero, b = 0.081, p = 0.144.
6.7.2.8 Neuroticism: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-acceptance behaviors with the neuroticism change score (ideal-self) is not significantly different from zero, b = -0.018, p = 0.642.
6.7.2.9 Openness: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the openness change score (ideal-self) is not significantly different from zero, b = 0.026, p = 0.499.
6.7.2.10 Openness: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of frequency of self-acceptance behaviors with the openness change score (ideal-self) is not significantly different from zero, b = 0.022, p = 0.493.
6.7.3 Big Five traits (current self)
6.7.3.1 Extraversion: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the agreeableness change score (current-self) is not significantly different from zero, b = 0.075, p = 0.077.
6.7.3.4 Agreeableness: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The moderation effect of the frequency of self-acceptance behaviors with the agreeableness change score (current-self) is not significantly different from zero, b = 0.057, p = 0.087.
6.7.3.5 Conscientiousness: specific, facet-level acceptance goals as moderator of change
Results summary (goals = trait/facet specific acceptance goal):
The moderation effect of specific, facet-level acceptance goals with the conscientiousness change score (current-self) is not significantly different from zero, b = 0.04, p = 0.257.
6.7.3.6 Conscientiousness: frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self improvement behavior):
The frequency of self-acceptance behaviors significantly moderates changes in openness (current-self), b = 0.141, p = 0.
6.7.4 Big Five facets (run models)
Run models for all facets with a template & loop:
Show the code
# create templates:# 1st, for facet-specific acceptance goalfacet_template_mod_goal_accept <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalfacet_t1 ~ ind_goal # This estimates the moderation effect on personality at T1d_facet_1 ~ ind_goal # This estimates the moderation effect on the change scoreind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ind_goal ~~ ind_goalind_goal ~ 1'# loop across 15 facets -> changes in ideal selffor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal items =paste0(bfi_versions[[6]], item_nrs) mod_name =paste0("sa07_", str_pad(i-5, 2, pad ="0"), "_t1") template_filled <-str_replace_all(facet_template_mod_goal_accept, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= mod_name)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp7")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_specif_hyp7")), facet_model_fit))} # loop across 15 facets -> changes in current selffor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal items =paste0(bfi_versions[[5]], item_nrs) # current instead of ideal! mod_name =paste0("sa07_", str_pad(i-5, 2, pad ="0"), "_t1") template_filled <-str_replace_all(facet_template_mod_goal_accept, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4],"ind_goal"= mod_name)) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp7")), template_filled)) # current instead of ideal!eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_specif_hyp7")), facet_model_fit))} # 2nd, for frequency of self-acceptance behaviorfacet_template_mod_frequ_accept <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)frequ =~ 1*sa04_01_t2 + sa04_02_t2 + sa04_03_t2 # latent variable for moderatorfacet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalfacet_t1 ~ frequ # This estimates the moderation effect on personality at T1d_facet_1 ~ frequ # This estimates the moderation effect on the change scorefrequ ~ 0*1 # This fixes the intercept of the moderator to 0frequ ~~ frequ # This estimates the variance of the moderatorind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2sa04_01_t2 ~~ sa04_01_t2sa04_02_t2 ~~ sa04_02_t2sa04_03_t2 ~~ sa04_03_t2sa04_01_t2 ~ 1sa04_02_t2 ~ 1sa04_03_t2 ~ 1'# loop across 15 facets -> changes in ideal selffor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal items =paste0(bfi_versions[[6]], item_nrs) template_filled <-str_replace_all(facet_template_mod_frequ_accept, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp7")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_frequ_hyp7")), facet_model_fit))} # loop across 15 facets -> changes in current selffor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal items =paste0(bfi_versions[[5]], item_nrs) # current instead of ideal! template_filled <-str_replace_all(facet_template_mod_frequ_accept, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_mod, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp7")), template_filled)) # current instead of ideal!eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_frequ_hyp7")), facet_model_fit))}
6.7.5 Big Five facets (ideal self)
6.7.5.1 Sociability - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the sociability change score (ideal-self) is not significantly different from zero, b = -0.023, p = 0.401.
6.7.5.2 Sociability - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with sociability change score (ideal-self) is not significantly different from zero, b = -0.03, p = 0.443.
6.7.5.3 Assertiveness - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the assertiveness change score (ideal-self) is not significantly different from zero, b = -0.027, p = 0.162.
6.7.5.4 Assertiveness - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors on the assertiveness change score (ideal-self) is not significantly different from zero, b = 0.051, p = 0.09.
6.7.5.5 Energy - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the energy change score (ideal-self) is not significantly different from zero, b = 0.05, p = 0.11.
6.7.5.6 Energy - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the energy change score (ideal-self) is not significantly different from zero, b = -0.001, p = 0.968.
6.7.5.7 Compassion - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the compassion change score (ideal-self) is not significantly different from zero, b = -0.065, p = 0.079.
6.7.5.8 Compassion - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the compassion change score (ideal-self) is not significantly different from zero, b = -0.084, p = 0.244.
6.7.5.9 Respectfulness - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the respectfulness change score (ideal-self) is not significantly different from zero, b = 0.015, p = 0.562.
6.7.5.10 Respectfulness - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the respectfulness change score (ideal-self) is not significantly different from zero, b = 0.057, p = 0.101.
6.7.5.11 Trust - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the trust change score (ideal-self) is not significantly different from zero, b = 0.02, p = 0.477.
6.7.5.12 Trust - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the trust change score (ideal-self) is not significantly different from zero, b = -0.037, p = 0.438.
6.7.5.13 Organization - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the organization change score (ideal-self) is not significantly different from zero, b = -0.013, p = 0.482.
6.7.5.14 Organization - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the organization change score (ideal-self) is not significantly different from zero, b = -0.043, p = 0.124.
6.7.5.15 Productiveness - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the productiveness change score (ideal-self) is not significantly different from zero, b = -0.003, p = 0.881.
6.7.5.16 Productiveness - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the productiveness change score (ideal-self) is not significantly different from zero, b = -0.064, p = 0.131.
6.7.5.17 Responsibility - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the responsibility change score (ideal-self) is not significantly different from zero, b = -0.008, p = 0.811.
6.7.5.18 Responsibility - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the responsibility change score (ideal-self) is not significantly different from zero, b = 0.005, p = 0.929.
6.7.5.19 Anxiety - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the anxiety change score (ideal-self) is not significantly different from zero, b = 0.001, p = 0.966.
6.7.5.20 Anxiety - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the anxiety change score (ideal-self) is not significantly different from zero, b = -0.019, p = 0.699.
6.7.5.21 Depression - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the depression change score (ideal-self) is not significantly different from zero, b = 0.019, p = 0.35.
6.7.5.22 Depression - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the depression change score (ideal-self) is not significantly different from zero, b = 0.026, p = 0.402.
6.7.5.23 Volatility - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the volatility change score (ideal-self) is not significantly different from zero, b = -0.031, p = 0.334.
6.7.5.24 Volatility - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the volatility change score (ideal-self) is not significantly different from zero, b = -0.057, p = 0.238.
6.7.5.25 Curiosity - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the curiosity change score (ideal-self) is not significantly different from zero, b = -0.012, p = 0.643.
6.7.5.26 Curiosity - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the curiosity change score (ideal-self) is not significantly different from zero, b = 0.019, p = 0.644.
6.7.5.27 Aesthetic - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the aesthetic change score (ideal-self) is not significantly different from zero, b = -0.001, p = 0.679.
6.7.5.28 Aesthetic - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the aesthetic change score (ideal-self) is not significantly different from zero, b = 0.004, p = 0.175.
6.7.5.29 Imagination - specific, facet-level acceptance goal as moderator of change
Results summary (*sa07_$$_t1* = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the imagination change score (ideal-self) is not significantly different from zero, b = 0.02, p = 0.377.
6.7.5.30 Imagination - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the imagination change score (ideal-self) is not significantly different from zero, b = 0.007, p = 0.864.
6.7.6 Big Five facets (current self)
6.7.6.1 Sociability - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the compassion change score (current-self) is not significantly different from zero, b = 0.071, p = 0.087.
6.7.6.8 Compassion - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the compassion change score (current-self) is not significantly different from zero, b = 0.109, p = 0.117.
6.7.6.9 Respectfulness - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the frequency of self-acceptance behaviors with the respectfulness change score (current-self) is not significantly different from zero, b = 0.038, p = 0.367.
6.7.6.11 Trust - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the trust change score (current-self) is not significantly different from zero (at p < .001), b = -0.01, p = 0.752.
6.7.6.12 Trust - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the frequency of self-acceptance behaviors with the organization change score (current-self) is not significantly different from zero, b = -0.083, p = 0.215.
6.7.6.15 Productiveness - specific, facet-level acceptance goal as moderator of change
Results summary (sa07_xx_t1 = trait/facet specific acceptance goal):
The moderation effect of the facet-specific acceptance goal with the productiveness change score (current-self) is not significantly different from zero, b = -0.052, p = 0.122.
6.7.6.16 Productiveness - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the facet-specific acceptance goal with the responsibility change score (current-self) is not significantly different from zero, b = -0.017, p = 0.571.
6.7.6.18 Responsibility - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the facet-specific acceptance goal with the volatility change score (current-self) is not significantly different from zero, b = -0.087, p = 0.055.
6.7.6.24 Volatility - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the facet-specific acceptance goal with the curiosity change score (current-self) is not significantly different from zero (at p < .001), b = 0.05, p = 0.21.
6.7.6.26 Curiosity - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the facet-specific acceptance goal with the aesthetic change score (current-self) is not significantly different from zero, b = -0.004, p = 0.076.
6.7.6.28 Aesthetic - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
The moderation effect of the facet-specific acceptance goal with the imagination change score (current-self) is not significantly different from zero, b = 0.064, p = 0.068.
6.7.6.30 Imagination - frequency of self-acceptance behaviors as moderator of change
Results summary (frequ = frequency of self-acceptance behavior):
Results summary across the Big Five traits: trait-specific acceptance goals (goals) and frequency of self-acceptance behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp7[1:10, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
extraversion
goals
-0.038
-0.096
0.207
-0.059
-0.100
0.383
extraversion
frequency
-0.037
-0.096
0.210
0.012
0.023
0.788
agreeableness
goals
-0.012
-0.037
0.609
0.044
0.076
0.491
agreeableness
frequency
-0.011
-0.035
0.627
0.036
0.082
0.304
conscientiousness
goals
0.017
0.050
0.484
-0.001
-0.001
0.985
conscientiousness
frequency
0.018
0.051
0.476
0.024
0.048
0.558
neuroticism
goals
0.011
0.034
0.656
0.081
0.136
0.144
neuroticism
frequency
0.011
0.032
0.669
-0.018
-0.038
0.642
openness
goals
-0.013
-0.057
0.506
0.026
0.061
0.499
openness
frequency
-0.013
-0.056
0.515
0.022
0.065
0.493
No significant main effects. No moderator effects for ideal-level trait dimensions that are significantly different from zero.
Results summary across the Big Five facets: trait-specific acceptance goals (goals) and frequency of self-acceptance behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp7[11:40, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
sociability
goals
-0.058
-0.228
0.020
-0.023
-0.090
0.401
sociability
frequency
-0.058
-0.229
0.020
-0.030
-0.084
0.443
assertiveness
goals
-0.034
-0.167
0.075
-0.027
-0.132
0.162
assertiveness
frequency
-0.033
-0.164
0.081
0.051
0.175
0.090
energy
goals
-0.011
-0.049
0.615
0.050
0.209
0.110
energy
frequency
-0.011
-0.047
0.634
-0.001
-0.004
0.968
compassion
goals
-0.039
-0.117
0.276
-0.065
-0.194
0.079
compassion
frequency
-0.041
-0.119
0.271
-0.084
-0.174
0.244
respectfulness
goals
0.007
0.030
0.757
0.015
0.061
0.562
respectfulness
frequency
0.007
0.030
0.754
0.057
0.165
0.101
trust
goals
0.030
0.106
0.277
0.020
0.072
0.477
trust
frequency
0.029
0.100
0.308
-0.037
-0.090
0.438
organization
goals
0.001
0.005
0.955
-0.013
-0.060
0.482
organization
frequency
0.001
0.005
0.951
-0.043
-0.151
0.124
productiveness
goals
-0.026
-0.097
0.318
-0.003
-0.012
0.881
productiveness
frequency
-0.026
-0.097
0.318
-0.064
-0.167
0.131
responsibility
goals
0.030
0.080
0.358
-0.008
-0.021
0.811
responsibility
frequency
0.030
0.080
0.358
0.005
0.009
0.929
anxiety
goals
-0.046
-0.180
0.109
0.001
0.006
0.966
anxiety
frequency
-0.047
-0.193
0.109
-0.019
-0.055
0.699
depression
goals
0.018
0.081
0.334
0.019
0.086
0.350
depression
frequency
0.018
0.082
0.328
0.026
0.082
0.402
volatility
goals
0.022
0.071
0.479
-0.031
-0.098
0.334
volatility
frequency
0.020
0.067
0.505
-0.057
-0.132
0.238
curiosity
goals
0.013
0.066
0.545
-0.012
-0.059
0.643
curiosity
frequency
0.013
0.065
0.547
0.019
0.067
0.644
aesthetic
goals
-0.001
-0.047
0.540
-0.001
-0.033
0.679
aesthetic
frequency
-0.001
-0.044
0.566
0.004
0.122
0.175
imagination
goals
-0.043
-0.211
0.075
0.020
0.098
0.377
imagination
frequency
-0.044
-0.210
0.075
0.007
0.023
0.864
No significant main effects (except for sociability in the frequency model). No moderator effects for ideal-level facets that are significantly different from zero.
Results summary across the Big Five traits: trait-specific acceptance goals (goals) and frequency of self-acceptance behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp7_curr[1:10, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
extraversion
goals
0.168
0.455
0.000
0.202
0.360
0.000
extraversion
frequency
0.166
0.452
0.000
0.203
0.372
0.000
agreeableness
goals
0.042
0.200
0.018
0.075
0.200
0.077
agreeableness
frequency
0.043
0.201
0.019
0.057
0.176
0.087
conscientiousness
goals
0.153
0.432
0.000
0.040
0.087
0.257
conscientiousness
frequency
0.153
0.436
0.000
0.147
0.272
0.002
neuroticism
goals
-0.183
-0.408
0.000
-0.119
-0.180
0.032
neuroticism
frequency
-0.182
-0.409
0.000
-0.222
-0.352
0.000
openness
goals
0.076
0.249
0.001
0.092
0.170
0.042
openness
frequency
0.074
0.246
0.001
0.141
0.327
0.000
Significant main effects throughout (latent change in current-self dimensions) in the self-acceptance group. 8 out of 10 significant moderation effects by either the facet-specific acceptance goals or the frequency of self-acceptance behaviors.
Results summary across the Big Five facets: trait-specific acceptance goals (goals) and frequency of self-acceptance behaviors (frequency) as moderators on the latent change score. *_main* refers to the main effects (change scores) and *_mod* to the moderation effects.
kable(df_table_hyp7_curr[11:40, ], digits =3)
trait
moderator
est_main
std_main
p_main
est_mod
std_mod
p_mod
sociability
goals
0.180
0.471
0.000
0.097
0.253
0.003
sociability
frequency
0.175
0.468
0.000
0.136
0.254
0.012
assertiveness
goals
0.095
0.251
0.003
0.073
0.193
0.025
assertiveness
frequency
0.084
0.237
0.005
0.142
0.266
0.007
energy
goals
-0.108
-0.328
0.000
-0.068
-0.208
0.010
energy
frequency
-0.107
-0.333
0.000
-0.130
-0.267
0.015
compassion
goals
0.084
0.164
0.060
0.071
0.138
0.087
compassion
frequency
0.081
0.161
0.063
0.109
0.151
0.117
respectfulness
goals
0.056
0.199
0.019
0.071
0.249
0.015
respectfulness
frequency
0.055
0.200
0.020
0.038
0.094
0.367
trust
goals
-0.084
-0.259
0.011
-0.010
-0.031
0.752
trust
frequency
-0.084
-0.258
0.011
-0.102
-0.216
0.048
organization
goals
-0.146
-0.299
0.000
-0.080
-0.164
0.038
organization
frequency
-0.142
-0.303
0.000
-0.083
-0.119
0.215
productiveness
goals
-0.206
-0.554
0.000
-0.052
-0.139
0.122
productiveness
frequency
-0.201
-0.555
0.000
-0.251
-0.445
0.000
responsibility
goals
0.113
0.467
0.003
-0.017
-0.069
0.571
responsibility
frequency
0.116
0.455
0.000
0.101
0.272
0.041
anxiety
goals
0.197
0.411
0.000
0.112
0.232
0.010
anxiety
frequency
0.202
0.410
0.000
0.282
0.410
0.000
depression
goals
0.194
0.472
0.000
0.065
0.157
0.036
depression
frequency
0.197
0.474
0.000
0.201
0.344
0.000
volatility
goals
-0.142
-0.249
0.001
-0.087
-0.152
0.055
volatility
frequency
-0.143
-0.250
0.001
-0.206
-0.250
0.010
curiosity
goals
0.115
0.311
0.002
0.050
0.135
0.210
curiosity
frequency
0.114
0.307
0.002
0.168
0.322
0.008
aesthetic
goals
-0.002
-0.075
0.298
-0.004
-0.128
0.076
aesthetic
frequency
-0.002
-0.075
0.299
-0.008
-0.192
0.015
imagination
goals
0.100
0.267
0.004
0.064
0.171
0.068
imagination
frequency
0.100
0.269
0.003
0.162
0.300
0.005
Significant main effects (latent change in current-self facets) in the self-acceptance group for many of the facets, although much more often in the frequency models (for the dimensions these were quite similar - not sure what is going on here). More than half of the current-self facets have a significant moderation effects by either the facet-specific acceptance goals or the frequency of self-acceptance behaviors.
7.1 Differences in change across experimental groups (a)
We will explore a) whether change in psychological well-being indicators as well as the difference between real- and ideal- self will differ across groups at follow-up.
7.1.1 Well-being change: differences across groups
7.1.1.1 Life satisfaction
Life satisfaction: fitting multi-group models
Show the code
# adapt latent change score model from above and add grouping factor in estimation (also add vectorized equality constraints to the model)# configural invariancemi_lcs_swls_group_config <-'swls_t1 =~ 1*sw06_01_t1 + c("lamb2a", "lamb2b")*sw06_02_t1 + c("lamb3a", "lamb3b")*sw06_03_t1 + c("lamb4a", "lamb4b")*sw06_04_t1 # This specifies the measurement model for swls_t1 swls_t2 =~ 1*sw06_01_t2 + c("lamb2a", "lamb2b")*sw06_02_t2 + c("lamb3a", "lamb3b")*sw06_03_t2 + c("lamb4a", "lamb4b")*sw06_04_t2 # This specifies the measurement model for swls_t2 with the equality constrained factor loadingsswls_t2 ~ 1*swls_t1 # This parameter regresses swls_t2 perfectly on swls_t1d_swls_1 =~ 1*swls_t2 # This defines the latent change score factor as measured perfectly by scores on swls_t2swls_t2 ~ 0*1 # This line constrains the intercept of swls_t2 to 0swls_t2 ~~ 0*swls_t2 # This fixes the variance of swls_t2 to 0d_swls_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score swls_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of swls_t1 d_swls_1 ~~ c("d_var_a", "d_var_b")*d_swls_1 # This estimates the variance of the change scores swls_t1 ~~ c("wb_var_a", "wb_var_b")*swls_t1 # This estimates the variance of the swls_t1 d_swls_1 ~~ c("fb_a", "fb_b")*swls_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change score remains unconditionalsw06_01_t1 ~~ c("cov1a", "cov1b")*sw06_01_t2 # This allows residual covariance on indicator X1 across T1 and T2sw06_02_t1 ~~ c("cov2a", "cov2b")*sw06_02_t2 # This allows residual covariance on indicator X2 across T1 and T2sw06_03_t1 ~~ c("cov3a", "cov3b")*sw06_03_t2 # This allows residual covariance on indicator X3 across T1 and T2sw06_04_t1 ~~ c("cov4a", "cov4b")*sw06_04_t2 # This allows residual covariance on indicator X4 across T1 and T2sw06_01_t1 ~~ c("res1a", "res1b")*sw06_01_t1 # This allows residual variance on indicator X1 at T1 sw06_02_t1 ~~ c("res2a", "res2b")*sw06_02_t1 # This allows residual variance on indicator X2 at T1sw06_03_t1 ~~ c("res3a", "res3b")*sw06_03_t1 # This allows residual variance on indicator X3 at T1sw06_04_t1 ~~ c("res4a", "res4b")*sw06_04_t1 # This allows residual variance on indicator X4 at T1sw06_01_t2 ~~ c("res1a", "res1b")*sw06_01_t2 # This allows residual variance on indicator X1 at T2 sw06_02_t2 ~~ c("res2a", "res2b")*sw06_02_t2 # This allows residual variance on indicator X2 at T2 sw06_03_t2 ~~ c("res3a", "res3b")*sw06_03_t2 # This allows residual variance on indicator X3 at T2sw06_04_t2 ~~ c("res4a", "res4b")*sw06_04_t2 # This allows residual variance on indicator X4 at T2sw06_01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1sw06_02_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1sw06_03_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1sw06_04_t1 ~ c("m4a", "m4b")*1 # This estimates the intercept of X4 at T1sw06_01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2sw06_02_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2sw06_03_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2sw06_04_t2 ~ c("m4a", "m4b")*1 # This estimates the intercept of X4 at T2'lcs_swls_group_config <-sem(mi_lcs_swls_group_config, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")# weak invariancemi_lcs_swls_group_weak <-'swls_t1 =~ 1*sw06_01_t1 + c("lamb2", "lamb2")*sw06_02_t1 + c("lamb3", "lamb3")*sw06_03_t1 + c("lamb4", "lamb4")*sw06_04_t1 # This specifies the measurement model for swls_t1 swls_t2 =~ 1*sw06_01_t2 + c("lamb2", "lamb2")*sw06_02_t2 + c("lamb3", "lamb3")*sw06_03_t2 + c("lamb4", "lamb4")*sw06_04_t2 # This specifies the measurement model for swls_t2 with the equality constrained factor loadingsswls_t2 ~ 1*swls_t1 # This parameter regresses swls_t2 perfectly on swls_t1d_swls_1 =~ 1*swls_t2 # This defines the latent change score factor as measured perfectly by scores on swls_t2swls_t2 ~ 0*1 # This line constrains the intercept of swls_t2 to 0swls_t2 ~~ 0*swls_t2 # This fixes the variance of swls_t2 to 0d_swls_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score swls_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of swls_t1 d_swls_1 ~~ c("d_var_a", "d_var_b")*d_swls_1 # This estimates the variance of the change scores swls_t1 ~~ c("wb_var_a", "wb_var_b")*swls_t1 # This estimates the variance of the swls_t1 d_swls_1 ~~ c("fb_a", "fb_b")*swls_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoresw06_01_t1 ~~ c("cov1a", "cov1b")*sw06_01_t2 # This allows residual covariance on indicator X1 across T1 and T2sw06_02_t1 ~~ c("cov2a", "cov2b")*sw06_02_t2 # This allows residual covariance on indicator X2 across T1 and T2sw06_03_t1 ~~ c("cov3a", "cov3b")*sw06_03_t2 # This allows residual covariance on indicator X3 across T1 and T2sw06_04_t1 ~~ c("cov4a", "cov4b")*sw06_04_t2 # This allows residual covariance on indicator X4 across T1 and T2sw06_01_t1 ~~ c("res1a", "res1b")*sw06_01_t1 # This allows residual variance on indicator X1 at T1 sw06_02_t1 ~~ c("res2a", "res2b")*sw06_02_t1 # This allows residual variance on indicator X2 at T1sw06_03_t1 ~~ c("res3a", "res3b")*sw06_03_t1 # This allows residual variance on indicator X3 at T1sw06_04_t1 ~~ c("res4a", "res4b")*sw06_04_t1 # This allows residual variance on indicator X4 at T1sw06_01_t2 ~~ c("res1a", "res1b")*sw06_01_t2 # This allows residual variance on indicator X1 at T2 sw06_02_t2 ~~ c("res2a", "res2b")*sw06_02_t2 # This allows residual variance on indicator X2 at T2 sw06_03_t2 ~~ c("res3a", "res3b")*sw06_03_t2 # This allows residual variance on indicator X3 at T2sw06_04_t2 ~~ c("res4a", "res4b")*sw06_04_t2 # This allows residual variance on indicator X4 at T2sw06_01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1sw06_02_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1sw06_03_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1sw06_04_t1 ~ c("m4a", "m4b")*1 # This estimates the intercept of X4 at T1sw06_01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2sw06_02_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2sw06_03_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2sw06_04_t2 ~ c("m4a", "m4b")*1 # This estimates the intercept of X4 at T2'lcs_swls_group_weak <-sem(mi_lcs_swls_group_weak, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")# strong invariancemi_lcs_swls_group_strong <-'swls_t1 =~ 1*sw06_01_t1 + c("lamb2", "lamb2")*sw06_02_t1 + c("lamb3", "lamb3")*sw06_03_t1 + c("lamb4", "lamb4")*sw06_04_t1 # This specifies the measurement model for swls_t1 swls_t2 =~ 1*sw06_01_t2 + c("lamb2", "lamb2")*sw06_02_t2 + c("lamb3", "lamb3")*sw06_03_t2 + c("lamb4", "lamb4")*sw06_04_t2 # This specifies the measurement model for swls_t2 with the equality constrained factor loadingsswls_t2 ~ 1*swls_t1 # This parameter regresses swls_t2 perfectly on swls_t1d_swls_1 =~ 1*swls_t2 # This defines the latent change score factor as measured perfectly by scores on swls_t2swls_t2 ~ 0*1 # This line constrains the intercept of swls_t2 to 0swls_t2 ~~ 0*swls_t2 # This fixes the variance of swls_t2 to 0d_swls_1 ~ c("d_int", "d_int")*1 # This estimates the intercept of the change score swls_t1 ~ c("wb_int", "wb_int")*1 # This estimates the intercept of swls_t1 d_swls_1 ~~ c("d_var_a", "d_var_b")*d_swls_1 # This estimates the variance of the change scores swls_t1 ~~ c("wb_var_a", "wb_var_b")*swls_t1 # This estimates the variance of the swls_t1 d_swls_1 ~~ c("fb_a", "fb_b")*swls_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoresw06_01_t1 ~~ c("cov1a", "cov1b")*sw06_01_t2 # This allows residual covariance on indicator X1 across T1 and T2sw06_02_t1 ~~ c("cov2a", "cov2b")*sw06_02_t2 # This allows residual covariance on indicator X2 across T1 and T2sw06_03_t1 ~~ c("cov3a", "cov3b")*sw06_03_t2 # This allows residual covariance on indicator X3 across T1 and T2sw06_04_t1 ~~ c("cov4a", "cov4b")*sw06_04_t2 # This allows residual covariance on indicator X4 across T1 and T2sw06_01_t1 ~~ c("res1a", "res1b")*sw06_01_t1 # This allows residual variance on indicator X1 at T1 sw06_02_t1 ~~ c("res2a", "res2b")*sw06_02_t1 # This allows residual variance on indicator X2 at T1sw06_03_t1 ~~ c("res3a", "res3b")*sw06_03_t1 # This allows residual variance on indicator X3 at T1sw06_04_t1 ~~ c("res4a", "res4b")*sw06_04_t1 # This allows residual variance on indicator X4 at T1sw06_01_t2 ~~ c("res1a", "res1b")*sw06_01_t2 # This allows residual variance on indicator X1 at T2 sw06_02_t2 ~~ c("res2a", "res2b")*sw06_02_t2 # This allows residual variance on indicator X2 at T2 sw06_03_t2 ~~ c("res3a", "res3b")*sw06_03_t2 # This allows residual variance on indicator X3 at T2sw06_04_t2 ~~ c("res4a", "res4b")*sw06_04_t2 # This allows residual variance on indicator X4 at T2sw06_01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1sw06_02_t1 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T1sw06_03_t1 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T1sw06_04_t1 ~ c("m4", "m4")*1 # This estimates the intercept of X4 at T1sw06_01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2sw06_02_t2 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T2sw06_03_t2 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T2sw06_04_t2 ~ c("m4", "m4")*1 # This estimates the intercept of X4 at T2'lcs_swls_group_strong <-sem(mi_lcs_swls_group_strong, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))
Life satisfaction: results
# model comparison tests for measurement invariancelavTestLRT(lcs_swls_group_config, lcs_swls_group_weak, lcs_swls_group_strong)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
lcs_swls_group_config 50 14267 14441 93.624
lcs_swls_group_weak 53 14269 14429 101.697 9.1169 3 0.02778 *
lcs_swls_group_strong 58 14263 14400 105.443 3.7681 5 0.58326
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# show model with varying latent change parameters # -> key parameter is "d_swls_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)kable(broom::tidy(lcs_swls_group_weak, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_swls_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_swls_1 ~1
d_int_a
0.311
0.473
6.988
0
d_swls_1 ~1
d_int_b
0.273
0.409
6.071
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(lcs_swls_group_strong, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_swls_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_swls_1 ~1
d_int
0.291
0.442
9.175
0
d_swls_1 ~1
d_int
0.291
0.436
9.175
0
Slightly more positive change in life satisfaction in the Self-Acceptance group but no substantial differences according to the LRTs.
# whole model (weak invariance)summary(lcs_swls_group_weak, fit.measures=TRUE, standardized=TRUE, rsquare=F)
# adapt latent change score model from above and add grouping factor in estimation (also add vectorized equality constraints to the model)# configural invariancemi_lcs_meaning_group_config <-'meaning_t1 =~ 1*meaning_par1_t1 + c("lamb2a", "lamb2b")*meaning_par2_t1 + c("lamb3a", "lamb3b")*meaning_par3_t1 # This specifies the measurement model for meaning_t1 meaning_t2 =~ 1*meaning_par1_t2 + c("lamb2a", "lamb2b")*meaning_par2_t2 + c("lamb3a", "lamb3b")*meaning_par3_t2 # This specifies the measurement model for meaning_t2 with the equality constrained factor loadingsmeaning_t2 ~ 1*meaning_t1 # This parameter regresses meaning_t2 perfectly on meaning_t1d_meaning_1 =~ 1*meaning_t2 # This defines the latent change score factor as measured perfectly by scores on meaning_t2meaning_t2 ~ 0*1 # This line constrains the intercept of meaning_t2 to 0meaning_t2 ~~ 0*meaning_t2 # This fixes the variance of meaning_t2 to 0d_meaning_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score meaning_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of meaning_t1 d_meaning_1 ~~ c("d_var_a", "d_var_b")*d_meaning_1 # This estimates the variance of the change scores meaning_t1 ~~ c("wb_var_a", "wb_var_b")*meaning_t1 # This estimates the variance of the meaning_t1 d_meaning_1 ~~ c("fb_a", "fb_b")*meaning_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoremeaning_par1_t1 ~~ c("cov1a", "cov1b")*meaning_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2meaning_par2_t1 ~~ c("cov2a", "cov2b")*meaning_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2meaning_par3_t1 ~~ c("cov3a", "cov3b")*meaning_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2meaning_par1_t1 ~~ c("res1a", "res1b")*meaning_par1_t1 # This allows residual variance on indicator X1 at T1 meaning_par2_t1 ~~ c("res2a", "res2b")*meaning_par2_t1 # This allows residual variance on indicator X2 at T1meaning_par3_t1 ~~ c("res3a", "res3b")*meaning_par3_t1 # This allows residual variance on indicator X3 at T1meaning_par1_t2 ~~ c("res1a", "res1b")*meaning_par1_t2 # This allows residual variance on indicator X1 at T2 meaning_par2_t2 ~~ c("res2a", "res2b")*meaning_par2_t2 # This allows residual variance on indicator X2 at T2 meaning_par3_t2 ~~ c("res3a", "res3b")*meaning_par3_t2 # This allows residual variance on indicator X3 at T2meaning_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1meaning_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1meaning_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1meaning_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2meaning_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2meaning_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_meaning_group_config <-sem(mi_lcs_meaning_group_config, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")# weak invariancemi_lcs_meaning_group_weak <-'meaning_t1 =~ 1*meaning_par1_t1 + c("lamb2", "lamb2")*meaning_par2_t1 + c("lamb3", "lamb3")*meaning_par3_t1 # This specifies the measurement model for meaning_t1 meaning_t2 =~ 1*meaning_par1_t2 + c("lamb2", "lamb2")*meaning_par2_t2 + c("lamb3", "lamb3")*meaning_par3_t2 # This specifies the measurement model for meaning_t2 with the equality constrained factor loadingsmeaning_t2 ~ 1*meaning_t1 # This parameter regresses meaning_t2 perfectly on meaning_t1d_meaning_1 =~ 1*meaning_t2 # This defines the latent change score factor as measured perfectly by scores on meaning_t2meaning_t2 ~ 0*1 # This line constrains the intercept of meaning_t2 to 0meaning_t2 ~~ 0*meaning_t2 # This fixes the variance of meaning_t2 to 0d_meaning_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score meaning_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of meaning_t1 d_meaning_1 ~~ c("d_var_a", "d_var_b")*d_meaning_1 # This estimates the variance of the change scores meaning_t1 ~~ c("wb_var_a", "wb_var_b")*meaning_t1 # This estimates the variance of the meaning_t1 d_meaning_1 ~~ c("fb_a", "fb_b")*meaning_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoremeaning_par1_t1 ~~ c("cov1a", "cov1b")*meaning_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2meaning_par2_t1 ~~ c("cov2a", "cov2b")*meaning_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2meaning_par3_t1 ~~ c("cov3a", "cov3b")*meaning_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2meaning_par1_t1 ~~ c("res1a", "res1b")*meaning_par1_t1 # This allows residual variance on indicator X1 at T1 meaning_par2_t1 ~~ c("res2a", "res2b")*meaning_par2_t1 # This allows residual variance on indicator X2 at T1meaning_par3_t1 ~~ c("res3a", "res3b")*meaning_par3_t1 # This allows residual variance on indicator X3 at T1meaning_par1_t2 ~~ c("res1a", "res1b")*meaning_par1_t2 # This allows residual variance on indicator X1 at T2 meaning_par2_t2 ~~ c("res2a", "res2b")*meaning_par2_t2 # This allows residual variance on indicator X2 at T2 meaning_par3_t2 ~~ c("res3a", "res3b")*meaning_par3_t2 # This allows residual variance on indicator X3 at T2meaning_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1meaning_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1meaning_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1meaning_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2meaning_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2meaning_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_meaning_group_weak <-sem(mi_lcs_meaning_group_weak, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")# strong invariancemi_lcs_meaning_group_strong <-'meaning_t1 =~ 1*meaning_par1_t1 + c("lamb2", "lamb2")*meaning_par2_t1 + c("lamb3", "lamb3")*meaning_par3_t1 # This specifies the measurement model for meaning_t1 meaning_t2 =~ 1*meaning_par1_t2 + c("lamb2", "lamb2")*meaning_par2_t2 + c("lamb3", "lamb3")*meaning_par3_t2 # This specifies the measurement model for meaning_t2 with the equality constrained factor loadingsmeaning_t2 ~ 1*meaning_t1 # This parameter regresses meaning_t2 perfectly on meaning_t1d_meaning_1 =~ 1*meaning_t2 # This defines the latent change score factor as measured perfectly by scores on meaning_t2meaning_t2 ~ 0*1 # This line constrains the intercept of meaning_t2 to 0meaning_t2 ~~ 0*meaning_t2 # This fixes the variance of meaning_t2 to 0d_meaning_1 ~ c("d_int", "d_int")*1 # This estimates the intercept of the change score meaning_t1 ~ c("wb_int", "wb_int")*1 # This estimates the intercept of meaning_t1 d_meaning_1 ~~ c("d_var_a", "d_var_b")*d_meaning_1 # This estimates the variance of the change scores meaning_t1 ~~ c("wb_var_a", "wb_var_b")*meaning_t1 # This estimates the variance of the meaning_t1 d_meaning_1 ~~ c("fb_a", "fb_b")*meaning_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoremeaning_par1_t1 ~~ c("cov1a", "cov1b")*meaning_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2meaning_par2_t1 ~~ c("cov2a", "cov2b")*meaning_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2meaning_par3_t1 ~~ c("cov3a", "cov3b")*meaning_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2meaning_par1_t1 ~~ c("res1a", "res1b")*meaning_par1_t1 # This allows residual variance on indicator X1 at T1 meaning_par2_t1 ~~ c("res2a", "res2b")*meaning_par2_t1 # This allows residual variance on indicator X2 at T1meaning_par3_t1 ~~ c("res3a", "res3b")*meaning_par3_t1 # This allows residual variance on indicator X3 at T1meaning_par1_t2 ~~ c("res1a", "res1b")*meaning_par1_t2 # This allows residual variance on indicator X1 at T2 meaning_par2_t2 ~~ c("res2a", "res2b")*meaning_par2_t2 # This allows residual variance on indicator X2 at T2 meaning_par3_t2 ~~ c("res3a", "res3b")*meaning_par3_t2 # This allows residual variance on indicator X3 at T2meaning_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1meaning_par2_t1 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T1meaning_par3_t1 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T1meaning_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2meaning_par2_t2 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T2meaning_par3_t2 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T2'lcs_meaning_group_strong <-sem(mi_lcs_meaning_group_strong, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))
Meaning in life: results
# model comparison tests for measurement invariancelavTestLRT(lcs_meaning_group_config, lcs_meaning_group_weak, lcs_meaning_group_strong)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
lcs_meaning_group_config 24 10472 10609 38.067
lcs_meaning_group_weak 26 10470 10598 40.184 1.9319 2 0.3806
lcs_meaning_group_strong 30 10465 10575 43.526 3.3424 4 0.5022
# show model with varying latent change parameters # -> key parameter is "d_meaning_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)kable(broom::tidy(lcs_meaning_group_weak, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_meaning_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_meaning_1 ~1
d_int_a
0.255
0.316
5.075
0
d_meaning_1 ~1
d_int_b
0.301
0.364
5.965
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(lcs_meaning_group_strong, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_meaning_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_meaning_1 ~1
d_int
0.278
0.344
7.798
0
d_meaning_1 ~1
d_int
0.278
0.337
7.798
0
Slightly more positive change in meaning in life in the Self-Improvement group but no substantial differences according to the LRTs.
# whole model (weak invariance)summary(lcs_meaning_group_weak, fit.measures=TRUE, standardized=TRUE, rsquare=F)
# adapt latent change score model from above and add grouping factor in estimation (also add vectorized equality constraints to the model)# configural invariancemi_lcs_selfes_group_config <-'selfes_t1 =~ 1*selfes_par1_t1 + c("lamb2a", "lamb2b")*selfes_par2_t1 + c("lamb3a", "lamb3b")*selfes_par3_t1 # This specifies the measurement model for selfes_t1 selfes_t2 =~ 1*selfes_par1_t2 + c("lamb2a", "lamb2b")*selfes_par2_t2 + c("lamb3a", "lamb3b")*selfes_par3_t2 # This specifies the measurement model for selfes_t2 with the equality constrained factor loadingsselfes_t2 ~ 1*selfes_t1 # This parameter regresses selfes_t2 perfectly on selfes_t1d_selfes_1 =~ 1*selfes_t2 # This defines the latent change score factor as measured perfectly by scores on selfes_t2selfes_t2 ~ 0*1 # This line constrains the intercept of selfes_t2 to 0selfes_t2 ~~ 0*selfes_t2 # This fixes the variance of selfes_t2 to 0d_selfes_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score selfes_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of selfes_t1 d_selfes_1 ~~ c("d_var_a", "d_var_b")*d_selfes_1 # This estimates the variance of the change scores selfes_t1 ~~ c("wb_var_a", "wb_var_b")*selfes_t1 # This estimates the variance of the selfes_t1 d_selfes_1 ~~ c("fb_a", "fb_b")*selfes_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreselfes_par1_t1 ~~ c("cov1a", "cov1b")*selfes_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2selfes_par2_t1 ~~ c("cov2a", "cov2b")*selfes_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2selfes_par3_t1 ~~ c("cov3a", "cov3b")*selfes_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2selfes_par1_t1 ~~ c("res1a", "res1b")*selfes_par1_t1 # This allows residual variance on indicator X1 at T1 selfes_par2_t1 ~~ c("res2a", "res2b")*selfes_par2_t1 # This allows residual variance on indicator X2 at T1selfes_par3_t1 ~~ c("res3a", "res3b")*selfes_par3_t1 # This allows residual variance on indicator X3 at T1selfes_par1_t2 ~~ c("res1a", "res1b")*selfes_par1_t2 # This allows residual variance on indicator X1 at T2 selfes_par2_t2 ~~ c("res2a", "res2b")*selfes_par2_t2 # This allows residual variance on indicator X2 at T2 selfes_par3_t2 ~~ c("res3a", "res3b")*selfes_par3_t2 # This allows residual variance on indicator X3 at T2selfes_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1selfes_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1selfes_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1selfes_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2selfes_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2selfes_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_selfes_group_config <-sem(mi_lcs_selfes_group_config, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")# weak invariancemi_lcs_selfes_group_weak <-'selfes_t1 =~ 1*selfes_par1_t1 + c("lamb2", "lamb2")*selfes_par2_t1 + c("lamb3", "lamb3")*selfes_par3_t1 # This specifies the measurement model for selfes_t1 selfes_t2 =~ 1*selfes_par1_t2 + c("lamb2", "lamb2")*selfes_par2_t2 + c("lamb3", "lamb3")*selfes_par3_t2 # This specifies the measurement model for selfes_t2 with the equality constrained factor loadingsselfes_t2 ~ 1*selfes_t1 # This parameter regresses selfes_t2 perfectly on selfes_t1d_selfes_1 =~ 1*selfes_t2 # This defines the latent change score factor as measured perfectly by scores on selfes_t2selfes_t2 ~ 0*1 # This line constrains the intercept of selfes_t2 to 0selfes_t2 ~~ 0*selfes_t2 # This fixes the variance of selfes_t2 to 0d_selfes_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score selfes_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of selfes_t1 d_selfes_1 ~~ c("d_var_a", "d_var_b")*d_selfes_1 # This estimates the variance of the change scores selfes_t1 ~~ c("wb_var_a", "wb_var_b")*selfes_t1 # This estimates the variance of the selfes_t1 d_selfes_1 ~~ c("fb_a", "fb_b")*selfes_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreselfes_par1_t1 ~~ c("cov1a", "cov1b")*selfes_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2selfes_par2_t1 ~~ c("cov2a", "cov2b")*selfes_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2selfes_par3_t1 ~~ c("cov3a", "cov3b")*selfes_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2selfes_par1_t1 ~~ c("res1a", "res1b")*selfes_par1_t1 # This allows residual variance on indicator X1 at T1 selfes_par2_t1 ~~ c("res2a", "res2b")*selfes_par2_t1 # This allows residual variance on indicator X2 at T1selfes_par3_t1 ~~ c("res3a", "res3b")*selfes_par3_t1 # This allows residual variance on indicator X3 at T1selfes_par1_t2 ~~ c("res1a", "res1b")*selfes_par1_t2 # This allows residual variance on indicator X1 at T2 selfes_par2_t2 ~~ c("res2a", "res2b")*selfes_par2_t2 # This allows residual variance on indicator X2 at T2 selfes_par3_t2 ~~ c("res3a", "res3b")*selfes_par3_t2 # This allows residual variance on indicator X3 at T2selfes_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1selfes_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1selfes_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1selfes_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2selfes_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2selfes_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_selfes_group_weak <-sem(mi_lcs_selfes_group_weak, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")# strong invariancemi_lcs_selfes_group_strong <-'selfes_t1 =~ 1*selfes_par1_t1 + c("lamb2", "lamb2")*selfes_par2_t1 + c("lamb3", "lamb3")*selfes_par3_t1 # This specifies the measurement model for selfes_t1 selfes_t2 =~ 1*selfes_par1_t2 + c("lamb2", "lamb2")*selfes_par2_t2 + c("lamb3", "lamb3")*selfes_par3_t2 # This specifies the measurement model for selfes_t2 with the equality constrained factor loadingsselfes_t2 ~ 1*selfes_t1 # This parameter regresses selfes_t2 perfectly on selfes_t1d_selfes_1 =~ 1*selfes_t2 # This defines the latent change score factor as measured perfectly by scores on selfes_t2selfes_t2 ~ 0*1 # This line constrains the intercept of selfes_t2 to 0selfes_t2 ~~ 0*selfes_t2 # This fixes the variance of selfes_t2 to 0d_selfes_1 ~ c("d_int", "d_int")*1 # This estimates the intercept of the change score selfes_t1 ~ c("wb_int", "wb_int")*1 # This estimates the intercept of selfes_t1 d_selfes_1 ~~ c("d_var_a", "d_var_b")*d_selfes_1 # This estimates the variance of the change scores selfes_t1 ~~ c("wb_var_a", "wb_var_b")*selfes_t1 # This estimates the variance of the selfes_t1 d_selfes_1 ~~ c("fb_a", "fb_b")*selfes_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreselfes_par1_t1 ~~ c("cov1a", "cov1b")*selfes_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2selfes_par2_t1 ~~ c("cov2a", "cov2b")*selfes_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2selfes_par3_t1 ~~ c("cov3a", "cov3b")*selfes_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2selfes_par1_t1 ~~ c("res1a", "res1b")*selfes_par1_t1 # This allows residual variance on indicator X1 at T1 selfes_par2_t1 ~~ c("res2a", "res2b")*selfes_par2_t1 # This allows residual variance on indicator X2 at T1selfes_par3_t1 ~~ c("res3a", "res3b")*selfes_par3_t1 # This allows residual variance on indicator X3 at T1selfes_par1_t2 ~~ c("res1a", "res1b")*selfes_par1_t2 # This allows residual variance on indicator X1 at T2 selfes_par2_t2 ~~ c("res2a", "res2b")*selfes_par2_t2 # This allows residual variance on indicator X2 at T2 selfes_par3_t2 ~~ c("res3a", "res3b")*selfes_par3_t2 # This allows residual variance on indicator X3 at T2selfes_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1selfes_par2_t1 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T1selfes_par3_t1 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T1selfes_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2selfes_par2_t2 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T2selfes_par3_t2 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T2'lcs_selfes_group_strong <-sem(mi_lcs_selfes_group_strong, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))
Meaning in life: results
# model comparison tests for measurement invariancelavTestLRT(lcs_selfes_group_config, lcs_selfes_group_weak, lcs_selfes_group_strong)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
lcs_selfes_group_config 24 7347.4 7484.5 20.707
lcs_selfes_group_weak 26 7345.5 7473.4 22.790 2.0845 2 0.3527
lcs_selfes_group_strong 30 7343.4 7453.1 28.758 6.0206 4 0.1976
# show model with varying latent change parameters # -> key parameter is "d_selfes_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)kable(broom::tidy(lcs_selfes_group_weak, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_selfes_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_selfes_1 ~1
d_int_a
0.301
0.527
8.608
0
d_selfes_1 ~1
d_int_b
0.269
0.514
8.352
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(lcs_selfes_group_strong, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_selfes_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_selfes_1 ~1
d_int
0.284
0.497
11.95
0
d_selfes_1 ~1
d_int
0.284
0.543
11.95
0
Slightly more positive change in self-esteem in the Self-Acceptance group but no substantial differences according to the LRTs.
# whole model (weak invariance)summary(lcs_selfes_group_weak, fit.measures=TRUE, standardized=TRUE, rsquare=F)
# adapt latent change score model from above and add grouping factor in estimation (also add vectorized equality constraints to the model)# configural invariancemi_lcs_concept_group_config <-'concept_t1 =~ 1*concept_par1_t1 + c("lamb2a", "lamb2b")*concept_par2_t1 + c("lamb3a", "lamb3b")*concept_par3_t1 # This specifies the measurement model for concept_t1 concept_t2 =~ 1*concept_par1_t2 + c("lamb2a", "lamb2b")*concept_par2_t2 + c("lamb3a", "lamb3b")*concept_par3_t2 # This specifies the measurement model for concept_t2 with the equality constrained factor loadingsconcept_t2 ~ 1*concept_t1 # This parameter regresses concept_t2 perfectly on concept_t1d_concept_1 =~ 1*concept_t2 # This defines the latent change score factor as measured perfectly by scores on concept_t2concept_t2 ~ 0*1 # This line constrains the intercept of concept_t2 to 0concept_t2 ~~ 0*concept_t2 # This fixes the variance of concept_t2 to 0d_concept_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score concept_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of concept_t1 d_concept_1 ~~ c("d_var_a", "d_var_b")*d_concept_1 # This estimates the variance of the change scores concept_t1 ~~ c("wb_var_a", "wb_var_b")*concept_t1 # This estimates the variance of the concept_t1 d_concept_1 ~~ c("fb_a", "fb_b")*concept_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreconcept_par1_t1 ~~ c("cov1a", "cov1b")*concept_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2concept_par2_t1 ~~ c("cov2a", "cov2b")*concept_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2concept_par3_t1 ~~ c("cov3a", "cov3b")*concept_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2concept_par1_t1 ~~ c("res1a", "res1b")*concept_par1_t1 # This allows residual variance on indicator X1 at T1 concept_par2_t1 ~~ c("res2a", "res2b")*concept_par2_t1 # This allows residual variance on indicator X2 at T1concept_par3_t1 ~~ c("res3a", "res3b")*concept_par3_t1 # This allows residual variance on indicator X3 at T1concept_par1_t2 ~~ c("res1a", "res1b")*concept_par1_t2 # This allows residual variance on indicator X1 at T2 concept_par2_t2 ~~ c("res2a", "res2b")*concept_par2_t2 # This allows residual variance on indicator X2 at T2 concept_par3_t2 ~~ c("res3a", "res3b")*concept_par3_t2 # This allows residual variance on indicator X3 at T2concept_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1concept_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1concept_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1concept_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2concept_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2concept_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_concept_group_config <-sem(mi_lcs_concept_group_config, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")# weak invariancemi_lcs_concept_group_weak <-'concept_t1 =~ 1*concept_par1_t1 + c("lamb2", "lamb2")*concept_par2_t1 + c("lamb3", "lamb3")*concept_par3_t1 # This specifies the measurement model for concept_t1 concept_t2 =~ 1*concept_par1_t2 + c("lamb2", "lamb2")*concept_par2_t2 + c("lamb3", "lamb3")*concept_par3_t2 # This specifies the measurement model for concept_t2 with the equality constrained factor loadingsconcept_t2 ~ 1*concept_t1 # This parameter regresses concept_t2 perfectly on concept_t1d_concept_1 =~ 1*concept_t2 # This defines the latent change score factor as measured perfectly by scores on concept_t2concept_t2 ~ 0*1 # This line constrains the intercept of concept_t2 to 0concept_t2 ~~ 0*concept_t2 # This fixes the variance of concept_t2 to 0d_concept_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score concept_t1 ~ c("wb_int_a", "wb_int_b")*1 # This estimates the intercept of concept_t1 d_concept_1 ~~ c("d_var_a", "d_var_b")*d_concept_1 # This estimates the variance of the change scores concept_t1 ~~ c("wb_var_a", "wb_var_b")*concept_t1 # This estimates the variance of the concept_t1 d_concept_1 ~~ c("fb_a", "fb_b")*concept_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreconcept_par1_t1 ~~ c("cov1a", "cov1b")*concept_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2concept_par2_t1 ~~ c("cov2a", "cov2b")*concept_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2concept_par3_t1 ~~ c("cov3a", "cov3b")*concept_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2concept_par1_t1 ~~ c("res1a", "res1b")*concept_par1_t1 # This allows residual variance on indicator X1 at T1 concept_par2_t1 ~~ c("res2a", "res2b")*concept_par2_t1 # This allows residual variance on indicator X2 at T1concept_par3_t1 ~~ c("res3a", "res3b")*concept_par3_t1 # This allows residual variance on indicator X3 at T1concept_par1_t2 ~~ c("res1a", "res1b")*concept_par1_t2 # This allows residual variance on indicator X1 at T2 concept_par2_t2 ~~ c("res2a", "res2b")*concept_par2_t2 # This allows residual variance on indicator X2 at T2 concept_par3_t2 ~~ c("res3a", "res3b")*concept_par3_t2 # This allows residual variance on indicator X3 at T2concept_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1concept_par2_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1concept_par3_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1concept_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2concept_par2_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2concept_par3_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'lcs_concept_group_weak <-sem(mi_lcs_concept_group_weak, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")# strong invariancemi_lcs_concept_group_strong <-'concept_t1 =~ 1*concept_par1_t1 + c("lamb2", "lamb2")*concept_par2_t1 + c("lamb3", "lamb3")*concept_par3_t1 # This specifies the measurement model for concept_t1 concept_t2 =~ 1*concept_par1_t2 + c("lamb2", "lamb2")*concept_par2_t2 + c("lamb3", "lamb3")*concept_par3_t2 # This specifies the measurement model for concept_t2 with the equality constrained factor loadingsconcept_t2 ~ 1*concept_t1 # This parameter regresses concept_t2 perfectly on concept_t1d_concept_1 =~ 1*concept_t2 # This defines the latent change score factor as measured perfectly by scores on concept_t2concept_t2 ~ 0*1 # This line constrains the intercept of concept_t2 to 0concept_t2 ~~ 0*concept_t2 # This fixes the variance of concept_t2 to 0d_concept_1 ~ c("d_int", "d_int")*1 # This estimates the intercept of the change score concept_t1 ~ c("wb_int", "wb_int")*1 # This estimates the intercept of concept_t1 d_concept_1 ~~ c("d_var_a", "d_var_b")*d_concept_1 # This estimates the variance of the change scores concept_t1 ~~ c("wb_var_a", "wb_var_b")*concept_t1 # This estimates the variance of the concept_t1 d_concept_1 ~~ c("fb_a", "fb_b")*concept_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreconcept_par1_t1 ~~ c("cov1a", "cov1b")*concept_par1_t2 # This allows residual covariance on indicator X1 across T1 and T2concept_par2_t1 ~~ c("cov2a", "cov2b")*concept_par2_t2 # This allows residual covariance on indicator X2 across T1 and T2concept_par3_t1 ~~ c("cov3a", "cov3b")*concept_par3_t2 # This allows residual covariance on indicator X3 across T1 and T2concept_par1_t1 ~~ c("res1a", "res1b")*concept_par1_t1 # This allows residual variance on indicator X1 at T1 concept_par2_t1 ~~ c("res2a", "res2b")*concept_par2_t1 # This allows residual variance on indicator X2 at T1concept_par3_t1 ~~ c("res3a", "res3b")*concept_par3_t1 # This allows residual variance on indicator X3 at T1concept_par1_t2 ~~ c("res1a", "res1b")*concept_par1_t2 # This allows residual variance on indicator X1 at T2 concept_par2_t2 ~~ c("res2a", "res2b")*concept_par2_t2 # This allows residual variance on indicator X2 at T2 concept_par3_t2 ~~ c("res3a", "res3b")*concept_par3_t2 # This allows residual variance on indicator X3 at T2concept_par1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1concept_par2_t1 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T1concept_par3_t1 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T1concept_par1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2concept_par2_t2 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T2concept_par3_t2 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T2'lcs_concept_group_strong <-sem(mi_lcs_concept_group_strong, data=df_sbsa_wide_wb, estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))
Meaning in life: results
# model comparison tests for measurement invariancelavTestLRT(lcs_concept_group_config, lcs_concept_group_weak, lcs_concept_group_strong)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
lcs_concept_group_config 24 8376.4 8513.5 32.823
lcs_concept_group_weak 26 8373.0 8500.9 33.355 0.4700 2 0.7906
lcs_concept_group_strong 30 8366.2 8475.9 34.649 1.2983 4 0.8617
# show model with varying latent change parameters # -> key parameter is "d_concept_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)kable(broom::tidy(lcs_concept_group_weak, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_concept_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_concept_1 ~1
d_int_a
0.181
0.312
5.055
0
d_concept_1 ~1
d_int_b
0.224
0.414
6.635
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(lcs_concept_group_strong, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_concept_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_concept_1 ~1
d_int
0.204
0.351
8.27
0
d_concept_1 ~1
d_int
0.204
0.375
8.27
0
Slightly more positive change in self-concept clarity in the self-improvement group but no substantial differences according to the LRTs.
# whole model (weak invariance)summary(lcs_concept_group_weak, fit.measures=TRUE, standardized=TRUE, rsquare=F)
7.1.2 Current- and ideal-self personality differences across groups
Profile correlations by group and measurement occasion (mixed effects models) - results:
df_sbsa <- df_sbsa %>%mutate(time_d = time -1)psych::describeBy(df_sbsa$profile_corr_item_z, list(df_sbsa$rando, df_sbsa$time_d))
Descriptive statistics by group
: Self-Acceptance
: 0
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 342 0.36 0.48 0.36 0.35 0.47 -1.05 2.25 3.3 0.39 0.99 0.03
------------------------------------------------------------
: Self-Improvement
: 0
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 362 0.38 0.45 0.36 0.35 0.44 -0.71 2.01 2.72 0.59 0.68 0.02
------------------------------------------------------------
: Self-Acceptance
: 1
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 326 0.55 0.58 0.49 0.51 0.52 -0.9 3.32 4.22 1 3.31 0.03
------------------------------------------------------------
: Self-Improvement
: 1
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 338 0.56 0.48 0.53 0.55 0.48 -0.77 2.27 3.04 0.19 0.25 0.03
Descriptive statistics by group
: Self-Acceptance
: 0
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 342 0.27 0.67 0.21 0.25 0.64 -1.5 2.67 4.17 0.46 0.68 0.04
------------------------------------------------------------
: Self-Improvement
: 0
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 362 0.29 0.63 0.23 0.25 0.65 -1.06 2.44 3.5 0.56 0.27 0.03
------------------------------------------------------------
: Self-Acceptance
: 1
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 326 0.49 0.76 0.45 0.46 0.72 -1.17 3.73 4.9 0.69 1.5 0.04
------------------------------------------------------------
: Self-Improvement
: 1
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 338 0.52 0.69 0.5 0.5 0.74 -1.22 2.54 3.77 0.17 -0.31 0.04
With both conceptualizations of the similarity / difference of current- and ideal-level personality (profile correlations / squared differences), we find no significant effects of group (at T1; with few exceptions…) or of interaction effects of group by measurement occasion (at T2).
7.1.3 Latent change: differences in personality change
7.1.3.1 Run models
Adapt latent change score model from above (but without any moderation) and add grouping factor in estimation (adding vectorized equality constraints to the model step by step):
Show the code
# create templates:# configural invariancetrait_template_main_config <-'trait_t1 =~ 1*ind01_t1 + c("lamb2a", "lamb2b")*ind02_t1 + c("lamb3a", "lamb3b")*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + c("lamb2a", "lamb2b")*ind02_t2 + c("lamb3a", "lamb3b")*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingstrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score trait_t1 ~ c("b5_int_a", "b5_int_b")*1 # This estimates the intercept of trait_t1 d_trait_1 ~~ c("d_var_a", "d_var_b")*d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ c("b5_var_a", "b5_var_b")*trait_t1 # This estimates the variance of trait_t1 d_trait_1 ~~ c("fb_a", "fb_b")* trait_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreind01_t1 ~~ c("cov1a", "cov1b")*ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ c("cov2a", "cov2b")*ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ c("cov3a", "cov3b")*ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ c("res1a", "res1b")*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ c("res2a", "res2b")*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ c("res3a", "res3b")*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ c("res1a", "res1b")*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ c("res2a", "res2b")*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ c("res3a", "res3b")*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1ind03_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2ind03_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'# weak invariancetrait_template_main_weak <-'trait_t1 =~ 1*ind01_t1 + c("lamb2", "lamb2")*ind02_t1 + c("lamb3", "lamb3")*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + c("lamb2", "lamb2")*ind02_t2 + c("lamb3", "lamb3")*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingstrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ c("d_int_a", "d_int_b")*1 # This estimates the intercept of the change score trait_t1 ~ c("b5_int_a", "b5_int_b")*1 # This estimates the intercept of trait_t1 d_trait_1 ~~ c("d_var_a", "d_var_b")*d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ c("b5_var_a", "b5_var_b")*trait_t1 # This estimates the variance of trait_t1 d_trait_1 ~~ c("fb_a", "fb_b")* trait_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreind01_t1 ~~ c("cov1a", "cov1b")*ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ c("cov2a", "cov2b")*ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ c("cov3a", "cov3b")*ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ c("res1a", "res1b")*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ c("res2a", "res2b")*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ c("res3a", "res3b")*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ c("res1a", "res1b")*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ c("res2a", "res2b")*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ c("res3a", "res3b")*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T1ind03_t1 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ c("m2a", "m2b")*1 # This estimates the intercept of X2 at T2ind03_t2 ~ c("m3a", "m3b")*1 # This estimates the intercept of X3 at T2'# strong invariancetrait_template_main_strong <-'trait_t1 =~ 1*ind01_t1 + c("lamb2", "lamb2")*ind02_t1 + c("lamb3", "lamb3")*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + c("lamb2", "lamb2")*ind02_t2 + c("lamb3", "lamb3")*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingstrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ c("d_int", "d_int")*1 # This estimates the intercept of the change score trait_t1 ~ c("b5_int", "b5_int")*1 # This estimates the intercept of trait_t1 d_trait_1 ~~ c("d_var_a", "d_var_b")*d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ c("b5_var_a", "b5_var_b")*trait_t1 # This estimates the variance of trait_t1 d_trait_1 ~~ c("fb_a", "fb_b")* trait_t1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreind01_t1 ~~ c("cov1a", "cov1b")*ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ c("cov2a", "cov2b")*ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ c("cov3a", "cov3b")*ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ c("res1a", "res1b")*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ c("res2a", "res2b")*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ c("res3a", "res3b")*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ c("res1a", "res1b")*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ c("res2a", "res2b")*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ c("res3a", "res3b")*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T1ind03_t1 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ c("m2", "m2")*1 # This estimates the intercept of X2 at T2ind03_t2 ~ c("m3", "m3")*1 # This estimates the intercept of X3 at T2'# strict invariance -> not really needed for this analysis# loop across 5 traitsfor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# configural - current template_filled_config_current <-str_replace_all(trait_template_main_config, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_main_fit_config_current <-lavaan(template_filled_config_current, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")eval(call("<-", as.name(paste0("lcs_", short_name, "_main_config_current")), template_filled_config_current))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_config_current")), trait_main_fit_config_current))# configural - ideal template_filled_config_ideal <-str_replace_all(trait_template_main_config, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_main_fit_config_ideal <-lavaan(template_filled_config_ideal, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando")eval(call("<-", as.name(paste0("lcs_", short_name, "_main_config_ideal")), template_filled_config_ideal))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_config_ideal")), trait_main_fit_config_ideal))# weak - current template_filled_weak_current <-str_replace_all(trait_template_main_weak, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_main_fit_weak_current <-lavaan(template_filled_weak_current, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")eval(call("<-", as.name(paste0("lcs_", short_name, "_main_weak_current")), template_filled_weak_current))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_weak_current")), trait_main_fit_weak_current))# weak - ideal template_filled_weak_ideal <-str_replace_all(trait_template_main_weak, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_main_fit_weak_ideal <-lavaan(template_filled_weak_ideal, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal ="loadings")eval(call("<-", as.name(paste0("lcs_", short_name, "_main_weak_ideal")), template_filled_weak_ideal))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_weak_ideal")), trait_main_fit_weak_ideal))# strong - current template_filled_strong_current <-str_replace_all(trait_template_main_strong, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_main_fit_strong_current <-lavaan(template_filled_strong_current, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))eval(call("<-", as.name(paste0("lcs_", short_name, "_main_strong_current")), template_filled_strong_current))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_strong_current")), trait_main_fit_strong_current))# strong - ideal template_filled_strong_ideal <-str_replace_all(trait_template_main_strong, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_main_fit_strong_ideal <-lavaan(template_filled_strong_ideal, data =bind_rows(df_sbsa_wide_pers_sa_mod, df_sbsa_wide_pers_sb_mod) %>%left_join(group_assign), estimator='mlr', fixed.x=FALSE, missing='fiml', group ="rando", group.equal =c("intercepts", "loadings"))eval(call("<-", as.name(paste0("lcs_", short_name, "_main_strong_ideal")), template_filled_strong_ideal))eval(call("<-", as.name(paste0("fit_lcs_", short_name, "_main_strong_ideal")), trait_main_fit_strong_ideal))}
7.1.3.2 Current self personality traits
Extraversion (current self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_extra_main_config_current, fit_lcs_extra_main_weak_current, fit_lcs_extra_main_strong_current)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_extra_main_config_current 24 7453.0 7590.2 33.135
fit_lcs_extra_main_weak_current 26 7453.3 7581.3 37.440 3.9027 2
fit_lcs_extra_main_strong_current 30 7446.1 7555.9 38.256 0.8182 4
Pr(>Chisq)
fit_lcs_extra_main_config_current
fit_lcs_extra_main_weak_current 0.1421
fit_lcs_extra_main_strong_current 0.9360
# show model with varying latent change parameters # -> key parameter is "d_extra_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_extra_current <- broom::tidy(fit_lcs_extra_main_weak_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_extra_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_extra_current, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_extra_1 ~1
d_int_a
0.159
0.452
6.119
0
d_extra_1 ~1
d_int_b
0.137
0.377
5.393
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_extra_main_strong_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_extra_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_extra_1 ~1
d_int
0.148
0.421
8.034
0
d_extra_1 ~1
d_int
0.148
0.407
8.034
0
Very similar change in extraversion in both groups. No significant differences according to the LRTs.
Agreeableness (current self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_agree_main_config_current, fit_lcs_agree_main_weak_current, fit_lcs_agree_main_strong_current)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_agree_main_config_current 24 6350.6 6487.7 46.417
fit_lcs_agree_main_weak_current 26 6346.9 6474.9 46.754 0.2694 2
fit_lcs_agree_main_strong_current 30 6343.3 6453.0 51.177 4.3924 4
Pr(>Chisq)
fit_lcs_agree_main_config_current
fit_lcs_agree_main_weak_current 0.8740
fit_lcs_agree_main_strong_current 0.3555
# show model with varying latent change parameters # -> key parameter is "d_agree_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_agree_current <- broom::tidy(fit_lcs_agree_main_weak_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_agree_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_agree_current, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_agree_1 ~1
d_int_a
0.043
0.200
2.348
0.019
d_agree_1 ~1
d_int_b
0.075
0.355
4.104
0.000
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_agree_main_strong_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_agree_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_agree_1 ~1
d_int
0.06
0.277
4.499
0
d_agree_1 ~1
d_int
0.06
0.283
4.499
0
Similar change in agreeableness in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
Conscientiousness (current self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_consc_main_config_current, fit_lcs_consc_main_weak_current, fit_lcs_consc_main_strong_current)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_consc_main_config_current 24 6865.2 7002.4 43.058
fit_lcs_consc_main_weak_current 26 6865.4 6993.4 47.284 4.3031 2
fit_lcs_consc_main_strong_current 30 6859.0 6968.8 48.905 1.6322 4
Pr(>Chisq)
fit_lcs_consc_main_config_current
fit_lcs_consc_main_weak_current 0.1163
fit_lcs_consc_main_strong_current 0.8030
# show model with varying latent change parameters # -> key parameter is "d_consc_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_consc_current <- broom::tidy(fit_lcs_consc_main_weak_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_consc_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_consc_current, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_consc_1 ~1
d_int_a
0.157
0.435
6.271
0
d_consc_1 ~1
d_int_b
0.121
0.345
4.992
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_consc_main_strong_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_consc_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_consc_1 ~1
d_int
0.138
0.383
7.89
0
d_consc_1 ~1
d_int
0.138
0.393
7.89
0
Similar change in conscientiousness in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
neuroticism (current self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_neuro_main_config_current, fit_lcs_neuro_main_weak_current, fit_lcs_neuro_main_strong_current)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_neuro_main_config_current 24 7741.0 7878.2 30.316
fit_lcs_neuro_main_weak_current 26 7738.3 7866.3 31.583 1.3185 2
fit_lcs_neuro_main_strong_current 30 7732.3 7842.0 33.627 2.0392 4
Pr(>Chisq)
fit_lcs_neuro_main_config_current
fit_lcs_neuro_main_weak_current 0.5172
fit_lcs_neuro_main_strong_current 0.7286
# show model with varying latent change parameters # -> key parameter is "d_neuro_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_neuro_current <- broom::tidy(fit_lcs_neuro_main_weak_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_neuro_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_neuro_current, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_neuro_1 ~1
d_int_a
-0.185
-0.408
-6.126
0
d_neuro_1 ~1
d_int_b
-0.208
-0.430
-6.763
0
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_neuro_main_strong_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_neuro_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_neuro_1 ~1
d_int
-0.196
-0.434
-9.103
0
d_neuro_1 ~1
d_int
-0.196
-0.406
-9.103
0
Similar change in neuroticism in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
Openness (current self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_openn_main_config_current, fit_lcs_openn_main_weak_current, fit_lcs_openn_main_strong_current)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_openn_main_config_current 24 6939.0 7076.2 33.624
fit_lcs_openn_main_weak_current 26 6938.7 7066.8 37.379 3.1544 2
fit_lcs_openn_main_strong_current 30 6932.1 7041.9 38.777 1.3972 4
Pr(>Chisq)
fit_lcs_openn_main_config_current
fit_lcs_openn_main_weak_current 0.2066
fit_lcs_openn_main_strong_current 0.8447
# show model with varying latent change parameters # -> key parameter is "d_openn_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_openn_current <- broom::tidy(fit_lcs_openn_main_weak_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_openn_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_openn_current, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_openn_1 ~1
d_int_a
0.070
0.246
3.288
0.001
d_openn_1 ~1
d_int_b
0.063
0.301
3.308
0.001
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_openn_main_strong_current, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_openn_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_openn_1 ~1
d_int
0.068
0.237
4.734
0
d_openn_1 ~1
d_int
0.068
0.325
4.734
0
Almost no change in current-self openness in the self-improvement group but significant increase in self-acceptance group. Significant between-group difference in means according to the LRT (at p < .05).
7.1.3.3 Ideal self personality traits
Extraversion (ideal self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_extra_main_config_ideal, fit_lcs_extra_main_weak_ideal, fit_lcs_extra_main_strong_ideal)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_extra_main_config_ideal 24 6564.7 6701.9 37.286
fit_lcs_extra_main_weak_ideal 26 6561.0 6689.0 37.579 0.2714 2
fit_lcs_extra_main_strong_ideal 30 6556.9 6666.6 41.447 3.8635 4
Pr(>Chisq)
fit_lcs_extra_main_config_ideal
fit_lcs_extra_main_weak_ideal 0.8731
fit_lcs_extra_main_strong_ideal 0.4248
# show model with varying latent change parameters # -> key parameter is "d_extra_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_extra_ideal <- broom::tidy(fit_lcs_extra_main_weak_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_extra_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_extra_ideal, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_extra_1 ~1
d_int_a
-0.037
-0.098
-1.297
0.195
d_extra_1 ~1
d_int_b
-0.028
-0.095
-1.087
0.277
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_extra_main_strong_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_extra_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_extra_1 ~1
d_int
-0.032
-0.083
-1.64
0.101
d_extra_1 ~1
d_int
-0.032
-0.106
-1.64
0.101
Increase in ideal-self extraversion is significantly higher in the self-acceptance group (n.s. in the self-improvement group).
Agreeableness (ideal self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_agree_main_config_ideal, fit_lcs_agree_main_weak_ideal, fit_lcs_agree_main_strong_ideal)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_agree_main_config_ideal 24 6463.0 6600.1 23.251
fit_lcs_agree_main_weak_ideal 26 6460.5 6588.5 24.761 1.2897 2
fit_lcs_agree_main_strong_ideal 30 6456.5 6566.2 28.783 4.0571 4
Pr(>Chisq)
fit_lcs_agree_main_config_ideal
fit_lcs_agree_main_weak_ideal 0.5247
fit_lcs_agree_main_strong_ideal 0.3983
# show model with varying latent change parameters # -> key parameter is "d_agree_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_agree_ideal <- broom::tidy(fit_lcs_agree_main_weak_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_agree_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_agree_ideal, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_agree_1 ~1
d_int_a
-0.011
-0.037
-0.506
0.613
d_agree_1 ~1
d_int_b
0.033
0.115
1.618
0.106
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_agree_main_strong_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_agree_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_agree_1 ~1
d_int
0.012
0.040
0.823
0.41
d_agree_1 ~1
d_int
0.012
0.042
0.823
0.41
Similar change in agreeableness in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
Conscientiousness (ideal self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_consc_main_config_ideal, fit_lcs_consc_main_weak_ideal, fit_lcs_consc_main_strong_ideal)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_consc_main_config_ideal 24 5537.1 5674.2 34.915
fit_lcs_consc_main_weak_ideal 26 5535.2 5663.2 37.032 1.5333 2
fit_lcs_consc_main_strong_ideal 30 5529.5 5639.3 39.367 2.2937 4
Pr(>Chisq)
fit_lcs_consc_main_config_ideal
fit_lcs_consc_main_weak_ideal 0.4646
fit_lcs_consc_main_strong_ideal 0.6819
# show model with varying latent change parameters # -> key parameter is "d_consc_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_consc_ideal <- broom::tidy(fit_lcs_consc_main_weak_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_consc_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_consc_ideal, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_consc_1 ~1
d_int_a
0.018
0.052
0.727
0.468
d_consc_1 ~1
d_int_b
0.025
0.072
1.017
0.309
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_consc_main_strong_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_consc_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_consc_1 ~1
d_int
0.021
0.063
1.222
0.222
d_consc_1 ~1
d_int
0.021
0.062
1.222
0.222
Similar change in conscientiousness in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
neuroticism (ideal self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_neuro_main_config_ideal, fit_lcs_neuro_main_weak_ideal, fit_lcs_neuro_main_strong_ideal)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_neuro_main_config_ideal 24 5779.9 5917 46.031
fit_lcs_neuro_main_weak_ideal 26 5777.0 5905 47.162 1.0171 2
fit_lcs_neuro_main_strong_ideal 30 5774.3 5884 52.456 5.3578 4
Pr(>Chisq)
fit_lcs_neuro_main_config_ideal
fit_lcs_neuro_main_weak_ideal 0.6014
fit_lcs_neuro_main_strong_ideal 0.2525
# show model with varying latent change parameters # -> key parameter is "d_neuro_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_neuro_ideal <- broom::tidy(fit_lcs_neuro_main_weak_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_neuro_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_neuro_ideal, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_neuro_1 ~1
d_int_a
0.011
0.036
0.474
0.636
d_neuro_1 ~1
d_int_b
-0.042
-0.126
-1.841
0.066
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_neuro_main_strong_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_neuro_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_neuro_1 ~1
d_int
-0.017
-0.053
-1.026
0.305
d_neuro_1 ~1
d_int
-0.017
-0.050
-1.026
0.305
Very similar change in neuroticism in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
Openness (ideal self): results
# model comparison tests for measurement invariancelavTestLRT(fit_lcs_openn_main_config_ideal, fit_lcs_openn_main_weak_ideal, fit_lcs_openn_main_strong_ideal)
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
lavaan NOTE:
The "Chisq" column contains standard test statistics, not the
robust test that should be reported per model. A robust difference
test is a function of two standard (not robust) statistics.
Df AIC BIC Chisq Chisq diff Df diff
fit_lcs_openn_main_config_ideal 24 6662.5 6799.7 36.707
fit_lcs_openn_main_weak_ideal 26 6659.5 6787.5 37.690 0.9424 2
fit_lcs_openn_main_strong_ideal 30 6656.0 6765.8 42.271 4.5614 4
Pr(>Chisq)
fit_lcs_openn_main_config_ideal
fit_lcs_openn_main_weak_ideal 0.6243
fit_lcs_openn_main_strong_ideal 0.3353
# show model with varying latent change parameters # -> key parameter is "d_openn_1 ~1"# labelled parameter as "d_int_a" & "d_int_b" (a = Self-Acceptance group, b = Self-Improvement group)params_main_lcs_openn_ideal <- broom::tidy(fit_lcs_openn_main_weak_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_openn_1 ~1 ")) %>%mutate(sig_diff =" ")kable(params_main_lcs_openn_ideal, digits =3)
term
label
estimate
std.all
statistic
p.value
sig_diff
d_openn_1 ~1
d_int_a
-0.013
-0.055
-0.659
0.510
d_openn_1 ~1
d_int_b
0.004
0.016
0.200
0.842
# constrained to be equal in the strong measurement invariance model:kable(broom::tidy(fit_lcs_openn_main_strong_ideal, conf.int =TRUE, conf.level =0.95) %>%select(term, label, estimate, std.all, statistic, p.value) %>%filter(term %in%c("d_openn_1 ~1 ")), digits =3)
term
label
estimate
std.all
statistic
p.value
d_openn_1 ~1
d_int
-0.005
-0.021
-0.359
0.719
d_openn_1 ~1
d_int
-0.005
-0.020
-0.359
0.719
Similar change in ideal-self openness in both groups (increase is slightly larger in self-improvement group). No significant differences according to the LRTs.
We will explore b) whether the extent of change/acceptance is related to personal project dimension variables.
For now, I use the personal project dimension variables assessed at T1:
Skill-building group: “How important is it for you to change your personality?”
Skill-building group: “How difficult is it for you to work on changing your personality?”
Self-acceptance group: “How important is it for you to accept your personality?”
Self-acceptance group: “How difficult is it for you to work on accepting your personality?”
They were, however, also assessed at T2:
Skill-building group: “During this study, how important was it for you to change your personality?”
Skill-building group: “During this study, how difficult was it for you to work on changing your personality?”
Self-acceptance group: “During this study, how important was it for you to accept your personality?”
Self-acceptance group: “During this study, how difficult was it for you to work on accepting your personality?”
7.2.1 Personal project dimensions as moderators of change in personality in self-improvement group
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sb_ppd <- df_sbsa %>%filter(rando=="Self-Improvement") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sb01"))) %>%# Personal project dimensions - self improvementpivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with(c("sb01")))) %>%select(-c(sb01_01_t2, sb01_02_t2))# standardize personal project variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sb_ppd <- df_sbsa_wide_pers_sb_ppd %>%mutate_at(c(colnames(df_sbsa_wide_pers_sb_ppd)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sb_ppd)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sb_ppd <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Improvement") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sb_ppd)# need to form a mean score because some models did not converge when using the latent factor of PPD (but moderate to high correlation between the two items)df_sbsa_wide_pers_sb_ppd <- df_sbsa_wide_pers_sb_ppd %>%mutate(ppd =rowMeans(across(c(sb01_01_t1, sb01_02_t1)), na.rm=T))
7.2.1.1 Big Five traits
Run models for all traits with a template & loop:
Show the code
# create templates:# 1st, for facet-specific change goalstrait_template_ppd_improve <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingstrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoretrait_t1 ~ ppd # This estimates the moderation effect on personality at T1d_trait_1 ~ ppd # This estimates the moderation effect on the change scoreind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2ppd ~~ ppdppd ~ 1'# loop across 5 traitsfor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current# items = paste0(bfi_versions[[5]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_ppd_improve, c("trait"= short_name,"ind01"=paste0(short_name, "_curr_par1"), "ind02"=paste0(short_name, "_curr_par2"), "ind03"=paste0(short_name, "_curr_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_ppd, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_ppd")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_ppd")), trait_model_fit))}
7.2.1.1.1 Extraversion: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the agreeableness change score (current-self) is not significantly different from zero, b = -0.002, p = 0.932.
7.2.1.1.3 Conscientiousness: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the conscientiousness change score (current-self) is not significantly different from zero, b = 0.026, p = 0.339.
7.2.1.1.4 Neuroticism: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the neuroticism change score (current-self) is not significantly different from zero, b = -0.095, p = 0.007.
7.2.1.1.5 Openness: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the openness change score (current-self) is not significantly different from zero, b = -0.003, p = 0.881.
7.2.1.2 Big Five facets
Run models for all facets with a template & loop:
Show the code
# create templates:facet_template_ppd_improve <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scorefacet_t1 ~ ppd # This estimates the moderation effect on personality at T1d_facet_1 ~ ppd # This estimates the moderation effect on the change scoreind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ppd ~~ ppdppd ~ 1'# loop across 15 facetsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[5]], item_nrs) template_filled <-str_replace_all(facet_template_ppd_improve, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sb_ppd, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_ppd")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[5], 6), "_ppd")), facet_model_fit))}
7.2.1.2.1 Sociability - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the sociability change score (current-self) is not significantly different from zero, b = 0.11, p = 0.041.
7.2.1.2.2 Assertiveness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the energy change score (current-self) is not significantly different from zero, b = -0.044, p = 0.069.
7.2.1.2.4 Compassion - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the compassion change score (current-self) is not significantly different from zero, b = 0.05, p = 0.202.
7.2.1.2.5 Respectfulness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the respectfulness change score (current-self) is not significantly different from zero, b = -0.022, p = 0.484.
7.2.1.2.6 Trust - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the trust change score (current-self) is not significantly different from zero, b = 0.006, p = 0.862.
7.2.1.2.7 Organization - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the organization change score (current-self) is not significantly different from zero, b = -0.087, p = 0.05.
7.2.1.2.8 Productiveness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the productiveness change score (current-self) is not significantly different from zero, b = -0.047, p = 0.229.
7.2.1.2.9 Responsibility - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the anxiety change score (current-self) is not significantly different from zero, b = 0.125, p = 0.012.
7.2.1.2.11 Depression - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the depression change score (current-self) is not significantly different from zero, b = 0.07, p = 0.019.
7.2.1.2.12 Volatility - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the volatility change score (current-self) is not significantly different from zero, b = -0.061, p = 0.193.
7.2.1.2.13 Curiosity - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the curiosity change score (current-self) is not significantly different from zero, b = -0.017, p = 0.58.
7.2.1.2.14 Aesthetic - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
(here there were some convergence problems with the standard model that the loop tried to fit)
mi_lcs_aesth_curr_ppd <-'aesth_t1 =~ 1*bf05_05_t1 + lamb2*bf05_20_t1 + lamb3*bf05_35_t1 + lamb4*bf05_50_t1 # This specifies the measurement model for aesth at T1aesth_t2 =~ 1*bf05_05_t2 + lamb2*bf05_20_t2 + lamb3*bf05_35_t2 + lamb4*bf05_50_t2 # This specifies the measurement model for aesth at T2 (with equality constraints)aesth_t2 ~ 1*aesth_t1 # This parameter regresses aesth_t2 perfectly on aesth_t1d_aesth_1 =~ 1*aesth_t2 # This defines the latent change score factor as measured perfectly by scores on aesth_t2aesth_t2 ~ 0*1 # This line constrains the intercept of aesth_t2 to 0aesth_t2 ~~ 0*aesth_t2 # This fixes the variance of aesth_t2 to 0d_aesth_1 ~ 1 # This estimates the intercept of the change score aesth_t1 ~ 1 # This estimates the intercept of aesth_t1 d_aesth_1 ~~ d_aesth_1 # This estimates the variance of the change scores aesth_t1 ~~ aesth_t1 # This estimates the variance of aesth_t1 aesth_t1 ~~ d_aesth_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoreaesth_t1 ~ ppd # This estimates the moderation effect on personality at T1d_aesth_1 ~ ppd # This estimates the moderation effect on the change scorebf05_05_t1 ~~ bf05_05_t2 # This allows residual covariance on indicator X1 across T1 and T2bf05_20_t1 ~~ bf05_20_t2 # This allows residual covariance on indicator X2 across T1 and T2bf05_35_t1 ~~ bf05_35_t2 # This allows residual covariance on indicator X3 across T1 and T2bf05_50_t1 ~~ bf05_50_t2 # This allows residual covariance on indicator X4 across T1 and T2bf05_05_t1 ~~ res1*bf05_05_t1 # This allows residual variance on indicator X1 at T1 bf05_20_t1 ~~ res2*bf05_20_t1 # This allows residual variance on indicator X2 at T1bf05_35_t1 ~~ res3*bf05_35_t1 # This allows residual variance on indicator X3 at T1bf05_50_t1 ~~ res4*bf05_50_t1 # This allows residual variance on indicator X4 at T1bf05_05_t2 ~~ res1*bf05_05_t2 # This allows residual variance on indicator X1 at T2 bf05_20_t2 ~~ res2*bf05_20_t2 # This allows residual variance on indicator X2 at T2 bf05_35_t2 ~~ res3*bf05_35_t2 # This allows residual variance on indicator X3 at T2bf05_50_t2 ~~ res4*bf05_50_t2 # This allows residual variance on indicator X4 at T2bf05_05_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1bf05_20_t1 ~ m2*1 # This estimates the intercept of X2 at T1bf05_35_t1 ~ m3*1 # This estimates the intercept of X3 at T1bf05_50_t1 ~ m4*1 # This estimates the intercept of X4 at T1bf05_05_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2bf05_20_t2 ~ m2*1 # This estimates the intercept of X2 at T2bf05_35_t2 ~ m3*1 # This estimates the intercept of X3 at T2bf05_50_t2 ~ m4*1 # This estimates the intercept of X4 at T2ppd ~~ ppdppd ~ 1'fit_mi_lcs_aesth_curr_ppd <-lavaan(mi_lcs_aesth_curr_ppd, data=df_sbsa_wide_pers_sb_ppd %>%filter(!is.na(bf05_05_t1) &!is.na(bf05_05_t2)), estimator='mlr', fixed.x=FALSE, missing="fiml")# This model did not converge properly with missing data and FIML -> no problem when only using complete datasummary(fit_mi_lcs_aesth_curr_ppd, fit.measures=TRUE, standardized=TRUE, rsquare=F)
The moderation effect of personal project dimensions with the aesthetic change score (current-self) is not significantly different from zero, b = -0.003, p = 0.207.
7.2.1.2.15 Imagination - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the imagination change score (current-self) is not significantly different from zero, b = 0.041, p = 0.265.
Results summary across the Big Five traits: personal project dimensions (ppd) as moderators on the latent change score
kable(df_table_ppd_improve[1:5, ], digits =3)
trait
moderator
estimate
std.all
statistic
p.value
extraversion
ppd
0.100
0.242
3.087
0.002
agreeableness
ppd
-0.002
-0.007
-0.086
0.932
conscientiousness
ppd
0.026
0.061
0.956
0.339
neuroticism
ppd
-0.095
-0.164
-2.718
0.007
openness
ppd
-0.003
-0.013
-0.149
0.881
Two moderator effects significantly differs from zero:
changes in current-level extraversion are moderated by the personal project dimensions
changes in current-level neuroticism are moderated by the personal project dimensions
Results summary across the Big Five facets: personal project dimensions (ppd) as moderators on the latent change score
kable(df_table_ppd_improve[6:20, ], digits =3)
trait
moderator
estimate
std.all
statistic
p.value
sociability
ppd
0.110
0.177
2.043
0.041
assertiveness
ppd
0.080
0.281
2.378
0.017
energy
ppd
-0.044
-0.167
-1.816
0.069
compassion
ppd
0.050
0.169
1.275
0.202
respectfulness
ppd
-0.022
-0.056
-0.699
0.484
trust
ppd
0.006
0.016
0.174
0.862
organization
ppd
-0.087
-0.142
-1.956
0.050
productiveness
ppd
-0.047
-0.106
-1.202
0.229
responsibility
ppd
-0.040
-0.163
-1.587
0.112
anxiety
ppd
0.125
0.184
2.505
0.012
depression
ppd
0.070
0.162
2.341
0.019
volatility
ppd
-0.061
-0.100
-1.303
0.193
curiosity
ppd
-0.017
-0.073
-0.554
0.580
aesthetic
ppd
-0.003
-0.107
-1.263
0.207
imagination
ppd
0.041
0.100
1.115
0.265
Four significant moderation effects of personal project dimensions on the facet-level:
- for extraversion the moderation effects by the personal project dimensions ar also reflected in the facets sociability and assertiveness (current-level)
- for neuroticism the moderation effects by the personal project dimensions ar also reflected in the facets anxiety and depression (current-level)
7.2.2 Personal project dimensions as moderators of change in personality in self-acceptance group
Reshape and split data set by intervention group:
Show the code
df_sbsa_wide_pers_sa_ppd <- df_sbsa %>%filter(rando=="Self-Acceptance") %>%arrange(pid, time) %>%select(pid, time, starts_with(c("sa01"))) %>%pivot_wider(names_from = time,names_sep ="_t",values_from =c(starts_with(c("sa01")))) %>%select(-c(sa01_01_t2, sa01_02_t2)) # standardize personal project variables (better interpretation for when they are in SEM as a single manifest variable, not so much a problem when they form a latent scale)df_sbsa_wide_pers_sa_ppd <- df_sbsa_wide_pers_sa_ppd %>%mutate_at(c(colnames(df_sbsa_wide_pers_sa_ppd)[-1]), ~(scale(.) %>% as.vector)) # colnames(df_sbsa_wide_pers_sa_ppd)group_assign <- df_sbsa %>%select(pid, rando) %>%unique()df_sbsa_wide_pers_sa_ppd <- df_sbsa_wide_pers %>%left_join(group_assign) %>%filter(rando=="Self-Acceptance") %>%select(-rando) %>%left_join(df_sbsa_wide_pers_sa_ppd)# need to form a mean score because some models did not converge when using the latent factor of PPD (but high correlation between the two items)df_sbsa_wide_pers_sa_ppd <- df_sbsa_wide_pers_sa_ppd %>%mutate(ppd =rowMeans(across(c(sa01_01_t1, sa01_02_t1)), na.rm=T))
7.2.2.1 Big Five traits
Run models for all traits with a template & loop:
Show the code
# create templatestrait_template_ppd_accept <-'trait_t1 =~ 1*ind01_t1 + lamb2*ind02_t1 + lamb3*ind03_t1 # This specifies the measurement model for trait_t1 trait_t2 =~ 1*ind01_t2 + lamb2*ind02_t2 + lamb3*ind03_t2 # This specifies the measurement model for trait_t2 with the equality constrained factor loadingstrait_t2 ~ 1*trait_t1 # This parameter regresses trait_t2 perfectly on trait_t1d_trait_1 =~ 1*trait_t2 # This defines the latent change score factor as measured perfectly by scores on trait_t2trait_t2 ~ 0*1 # This line constrains the intercept of trait_t2 to 0trait_t2 ~~ 0*trait_t2 # This fixes the variance of trait_t2 to 0d_trait_1 ~ 1 # This estimates the intercept of the change score trait_t1 ~ 1 # This estimates the intercept of trait_t1 d_trait_1 ~~ d_trait_1 # This estimates the variance of the change scores trait_t1 ~~ trait_t1 # This estimates the variance of trait_t1 trait_t1 ~~ d_trait_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scoretrait_t1 ~ ppd # This estimates the moderation effect on personality at T1d_trait_1 ~ ppd # This estimates the moderation effect on the change scoreind01_t1 ~~ ind01_t2 # This allows residual covariance on indicator X1 across T1 and T2ind02_t1 ~~ ind02_t2 # This allows residual covariance on indicator X2 across T1 and T2ind03_t1 ~~ ind03_t2 # This allows residual covariance on indicator X3 across T1 and T2ind01_t1 ~~ res1*ind01_t1 # This allows residual variance on indicator X1 at T1 ind02_t1 ~~ res2*ind02_t1 # This allows residual variance on indicator X2 at T1ind03_t1 ~~ res3*ind03_t1 # This allows residual variance on indicator X3 at T1ind01_t2 ~~ res1*ind01_t2 # This allows residual variance on indicator X1 at T2 ind02_t2 ~~ res2*ind02_t2 # This allows residual variance on indicator X2 at T2 ind03_t2 ~~ res3*ind03_t2 # This allows residual variance on indicator X3 at T2ind01_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind02_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind03_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind01_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind02_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind03_t2 ~ m3*1 # This estimates the intercept of X3 at T2ppd ~~ ppdppd ~ 1'# loop across 5 traitsfor (i in1:5) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post ideal (6 = ideal)# items = paste0(bfi_versions[[6]], item_nrs) # using parcels instead! template_filled <-str_replace_all(trait_template_ppd_accept, c("trait"= short_name,"ind01"=paste0(short_name, "_ideal_par1"), "ind02"=paste0(short_name, "_ideal_par2"), "ind03"=paste0(short_name, "_ideal_par3"))) trait_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_ppd, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_ppd")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_ppd")), trait_model_fit))}
7.2.2.1.1 Extraversion: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the extraversion change score (ideal-self) is not significantly different from zero, b = 0.036, p = 0.371.
7.2.2.1.2 Agreeableness: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the agreeableness change score (ideal-self) is not significantly different from zero, b = 0.01, p = 0.751.
7.2.2.1.3 Conscientiousness: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the conscientiousness change score (ideal-self) is not significantly different from zero, b = -0.062, p = 0.043.
7.2.2.1.4 Neuroticism: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the neuroticism change score (ideal-self) is not significantly different from zero, b = 0.006, p = 0.842.
7.2.2.1.5 Openness: personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the openness change score (ideal-self) is not significantly different from zero, b = 0, p = 0.991.
7.2.2.2 Big Five facets
Run models for all facets with a template & loop:
Show the code
# create templates:# 1st, for facet-specific acceptance goalfacet_template_ppd_accept <-'facet_t1 =~ 1*ind1_t1 + lamb2*ind2_t1 + lamb3*ind3_t1 + lamb4*ind4_t1 # This specifies the measurement model for facet at T1facet_t2 =~ 1*ind1_t2 + lamb2*ind2_t2 + lamb3*ind3_t2 + lamb4*ind4_t2 # This specifies the measurement model for facet at T2 (with equality constraints)facet_t2 ~ 1*facet_t1 # This parameter regresses facet_t2 perfectly on facet_t1d_facet_1 =~ 1*facet_t2 # This defines the latent change score factor as measured perfectly by scores on facet_t2facet_t2 ~ 0*1 # This line constrains the intercept of facet_t2 to 0facet_t2 ~~ 0*facet_t2 # This fixes the variance of facet_t2 to 0d_facet_1 ~ 1 # This estimates the intercept of the change score facet_t1 ~ 1 # This estimates the intercept of facet_t1 d_facet_1 ~~ d_facet_1 # This estimates the variance of the change scores facet_t1 ~~ facet_t1 # This estimates the variance of facet_t1 facet_t1 ~~ d_facet_1 # This estimates the self-feedback parameter, as a covariance! -> therefore, the interpretation of the change scorefacet_t1 ~ ppd # This estimates the moderation effect on personality at T1d_facet_1 ~ ppd # This estimates the moderation effect on the change scoreind1_t1 ~~ ind1_t2 # This allows residual covariance on indicator X1 across T1 and T2ind2_t1 ~~ ind2_t2 # This allows residual covariance on indicator X2 across T1 and T2ind3_t1 ~~ ind3_t2 # This allows residual covariance on indicator X3 across T1 and T2ind4_t1 ~~ ind4_t2 # This allows residual covariance on indicator X4 across T1 and T2ind1_t1 ~~ res1*ind1_t1 # This allows residual variance on indicator X1 at T1 ind2_t1 ~~ res2*ind2_t1 # This allows residual variance on indicator X2 at T1ind3_t1 ~~ res3*ind3_t1 # This allows residual variance on indicator X3 at T1ind4_t1 ~~ res4*ind4_t1 # This allows residual variance on indicator X4 at T1ind1_t2 ~~ res1*ind1_t2 # This allows residual variance on indicator X1 at T2 ind2_t2 ~~ res2*ind2_t2 # This allows residual variance on indicator X2 at T2 ind3_t2 ~~ res3*ind3_t2 # This allows residual variance on indicator X3 at T2ind4_t2 ~~ res4*ind4_t2 # This allows residual variance on indicator X4 at T2ind1_t1 ~ 0*1 # This constrains the intercept of X1 to 0 at T1ind2_t1 ~ m2*1 # This estimates the intercept of X2 at T1ind3_t1 ~ m3*1 # This estimates the intercept of X3 at T1ind4_t1 ~ m4*1 # This estimates the intercept of X4 at T1ind1_t2 ~ 0*1 # This constrains the intercept of X1 to 0 at T2ind2_t2 ~ m2*1 # This estimates the intercept of X2 at T2ind3_t2 ~ m3*1 # This estimates the intercept of X3 at T2ind4_t2 ~ m4*1 # This estimates the intercept of X4 at T2ppd ~~ ppdppd ~ 1'# loop across 15 facetsfor (i in6:length(b5_vars)) { item_nrs = b5_vars[[i]][[1]] short_name =str_trunc(names(b5_vars)[i], 5, ellipsis ="")# use BFI version combined pre&post current items =paste0(bfi_versions[[6]], item_nrs) template_filled <-str_replace_all(facet_template_ppd_accept, c("facet"= short_name,"ind1"= items[1], "ind2"= items[2], "ind3"= items[3], "ind4"= items[4])) facet_model_fit <-lavaan(template_filled, data=df_sbsa_wide_pers_sa_ppd, estimator='mlr', fixed.x=FALSE, missing='fiml')eval(call("<-", as.name(paste0("mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_ppd")), template_filled))eval(call("<-", as.name(paste0("fit_mi_lcs_", short_name, "_", str_sub(names(bfi_versions)[6], 6), "_ppd")), facet_model_fit))}
7.2.2.2.1 Sociability - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the sociability change score (ideal-self) is not significantly different from zero, b = -0.001, p = 0.974.
7.2.2.2.2 Assertiveness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the assertiveness change score (ideal-self) is not significantly different from zero, b = 0.025, p = 0.32.
7.2.2.2.3 Energy - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the energy change score (ideal-self) is not significantly different from zero, b = -0.003, p = 0.914.
7.2.2.2.4 Compassion - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the compassion change score (ideal-self) is not significantly different from zero, b = -0.023, p = 0.683.
7.2.2.2.5 Respectfulness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the respectfulness change score (ideal-self) is not significantly different from zero, b = 0.017, p = 0.564.
7.2.2.2.6 Trust - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the trust change score (ideal-self) is not significantly different from zero, b = 0.021, p = 0.578.
7.2.2.2.7 Organization - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the organization change score (ideal-self) is not significantly different from zero, b = 0.033, p = 0.134.
7.2.2.2.8 Productiveness - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the productiveness change score (ideal-self) is not significantly different from zero, b = 0.035, p = 0.267.
7.2.2.2.9 Responsibility - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the responsibility change score (ideal-self) is not significantly different from zero, b = -0.061, p = 0.13.
7.2.2.2.10 Anxiety - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the anxiety change score (ideal-self) is not significantly different from zero, b = -0.018, p = 0.766.
7.2.2.2.11 Depression - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the depression change score (ideal-self) is not significantly different from zero, b = 0.009, p = 0.692.
7.2.2.2.12 Volatility - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the volatility change score (ideal-self) is not significantly different from zero, b = -0.011, p = 0.798.
7.2.2.2.13 Curiosity - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the curiosity change score (ideal-self) is not significantly different from zero, b = 0.025, p = 0.443.
7.2.2.2.14 Aesthetic - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the aesthetic change score (ideal-self) is not significantly different from zero, b = 0, p = 0.979.
7.2.2.2.15 Imagination - personal project dimensions as moderator of change
Results summary (ppd = personal project dimensions):
The moderation effect of personal project dimensions with the imagination change score (ideal-self) is not significantly different from zero, b = -0.049, p = 0.146.
We will explore c) whether there are stronger rates of change/acceptance on traits that were selected as change goals than those that were not.
TBD!
7.4 Manipulation check (d)
Does self-improvement intervene on current self trait change (but not ideal self)? Does self-acceptance intervene on ideal self trait change (but not current self)?
kable(df_manip_check_curr_unlist %>%mutate(outcome =rep(sort(names(b5_vars)), each=4), term =c(rep(c("Intercept", "time", "group", "time*group"), 20))) %>%rename(p =`Pr(>|t|)`, str_err =`Std. Error`, est = Estimate) %>%select(outcome, term, est, str_err, p) %>%mutate(sig =ifelse(p < .05, ifelse(p < .01, ifelse(p < .001, "***", "**"), "*"), " ")) %>%arrange(factor(outcome, levels = (names(b5_vars)))), # order by BFI traits, digits =3)
outcome
term
est
str_err
p
sig
extraversion
Intercept
2.796
0.038
0.000
***
extraversion
time
0.166
0.026
0.000
***
extraversion
group
0.001
0.053
0.984
extraversion
time*group
-0.026
0.037
0.488
agreeableness
Intercept
3.553
0.032
0.000
***
agreeableness
time
0.076
0.024
0.002
**
agreeableness
group
0.016
0.045
0.724
agreeableness
time*group
0.018
0.034
0.594
conscientiousness
Intercept
3.328
0.041
0.000
***
conscientiousness
time
0.151
0.024
0.000
***
conscientiousness
group
0.056
0.058
0.333
conscientiousness
time*group
-0.037
0.034
0.282
neuroticism
Intercept
3.306
0.045
0.000
***
neuroticism
time
-0.192
0.031
0.000
***
neuroticism
group
-0.023
0.063
0.717
neuroticism
time*group
-0.020
0.044
0.645
openness
Intercept
3.654
0.033
0.000
***
openness
time
0.082
0.023
0.000
***
openness
group
-0.048
0.046
0.293
openness
time*group
-0.003
0.032
0.934
sociability
Intercept
2.469
0.051
0.000
***
sociability
time
0.191
0.036
0.000
***
sociability
group
-0.023
0.072
0.753
sociability
time*group
-0.007
0.050
0.893
assertiveness
Intercept
2.855
0.046
0.000
***
assertiveness
time
0.122
0.035
0.000
***
assertiveness
group
0.024
0.065
0.713
assertiveness
time*group
-0.044
0.048
0.365
energy
Intercept
3.063
0.046
0.000
***
energy
time
0.188
0.039
0.000
***
energy
group
0.002
0.064
0.980
energy
time*group
-0.027
0.054
0.617
compassion
Intercept
3.670
0.039
0.000
***
compassion
time
0.052
0.036
0.146
compassion
group
0.031
0.055
0.567
compassion
time*group
0.013
0.050
0.790
respectfulness
Intercept
3.953
0.040
0.000
***
respectfulness
time
0.075
0.032
0.022
*
respectfulness
group
-0.029
0.056
0.603
respectfulness
time*group
0.005
0.045
0.905
trust
Intercept
3.035
0.044
0.000
***
trust
time
0.100
0.035
0.005
**
trust
group
0.043
0.061
0.481
trust
time*group
0.039
0.049
0.433
organization
Intercept
3.431
0.054
0.000
***
organization
time
0.125
0.036
0.001
***
organization
group
0.061
0.076
0.419
organization
time*group
-0.005
0.050
0.924
productiveness
Intercept
3.095
0.049
0.000
***
productiveness
time
0.197
0.033
0.000
***
productiveness
group
0.067
0.068
0.325
productiveness
time*group
-0.045
0.047
0.340
responsibility
Intercept
3.456
0.042
0.000
***
responsibility
time
0.128
0.032
0.000
***
responsibility
group
0.041
0.059
0.487
responsibility
time*group
-0.056
0.045
0.206
anxiety
Intercept
3.608
0.048
0.000
***
anxiety
time
-0.147
0.039
0.000
***
anxiety
group
-0.022
0.067
0.741
anxiety
time*group
-0.063
0.055
0.251
depression
Intercept
3.221
0.054
0.000
***
depression
time
-0.280
0.041
0.000
***
depression
group
-0.030
0.076
0.691
depression
time*group
0.035
0.057
0.535
volatility
Intercept
3.088
0.054
0.000
***
volatility
time
-0.147
0.042
0.000
***
volatility
group
-0.015
0.075
0.837
volatility
time*group
-0.036
0.058
0.538
curiosity
Intercept
3.771
0.040
0.000
***
curiosity
time
0.114
0.034
0.001
***
curiosity
group
-0.036
0.056
0.527
curiosity
time*group
-0.038
0.047
0.425
aesthetic
Intercept
3.574
0.044
0.000
***
aesthetic
time
0.045
0.034
0.192
aesthetic
group
-0.070
0.061
0.247
aesthetic
time*group
0.017
0.048
0.730
imagination
Intercept
3.618
0.043
0.000
***
imagination
time
0.089
0.033
0.008
**
imagination
group
-0.039
0.061
0.524
imagination
time*group
0.011
0.047
0.817
No significant group effects (higher trait level in self-improvement group at baseline) and also no significant differences in the changes over time in current-self trait levels (timeXgroup). Significant changes over time in current-self trait levels (time) for most domains/facets (independent of intervention group membership).
kable(df_manip_check_ideal_unlist %>%mutate(outcome =rep(sort(names(b5_vars)), each=4), term =c(rep(c("Intercept", "time", "group", "time*group"), 20))) %>%rename(p =`Pr(>|t|)`, str_err =`Std. Error`, est = Estimate) %>%select(outcome, term, est, str_err, p) %>%mutate(sig =ifelse(p < .05, ifelse(p < .01, ifelse(p < .001, "***", "**"), "*"), " ")) %>%arrange(factor(outcome, levels = (names(b5_vars)))), # order by BFI traits, digits =3)
outcome
term
est
str_err
p
sig
extraversion
Intercept
3.921
0.027
0.000
***
extraversion
time
-0.029
0.024
0.233
extraversion
group
-0.029
0.037
0.428
extraversion
time*group
0.004
0.034
0.918
agreeableness
Intercept
4.020
0.030
0.000
***
agreeableness
time
-0.011
0.025
0.662
agreeableness
group
-0.001
0.042
0.980
agreeableness
time*group
0.051
0.034
0.137
conscientiousness
Intercept
4.392
0.026
0.000
***
conscientiousness
time
0.026
0.024
0.270
conscientiousness
group
-0.001
0.036
0.977
conscientiousness
time*group
-0.007
0.033
0.832
neuroticism
Intercept
1.749
0.027
0.000
***
neuroticism
time
0.010
0.025
0.696
neuroticism
group
0.019
0.037
0.602
neuroticism
time*group
-0.053
0.035
0.127
openness
Intercept
4.104
0.029
0.000
***
openness
time
0.000
0.024
0.996
openness
group
-0.058
0.040
0.149
openness
time*group
0.009
0.034
0.781
sociability
Intercept
3.790
0.038
0.000
***
sociability
time
-0.086
0.033
0.009
**
sociability
group
-0.071
0.053
0.178
sociability
time*group
0.045
0.046
0.336
assertiveness
Intercept
3.843
0.037
0.000
***
assertiveness
time
-0.057
0.036
0.115
assertiveness
group
-0.026
0.051
0.605
assertiveness
time*group
0.000
0.050
0.995
energy
Intercept
4.130
0.034
0.000
***
energy
time
0.058
0.038
0.129
energy
group
0.008
0.047
0.866
energy
time*group
-0.033
0.053
0.539
compassion
Intercept
3.958
0.039
0.000
***
compassion
time
-0.002
0.039
0.955
compassion
group
-0.024
0.054
0.656
compassion
time*group
0.043
0.054
0.428
respectfulness
Intercept
4.369
0.032
0.000
***
respectfulness
time
0.002
0.030
0.959
respectfulness
group
0.004
0.045
0.930
respectfulness
time*group
0.035
0.042
0.399
trust
Intercept
3.733
0.039
0.000
***
trust
time
-0.030
0.036
0.407
trust
group
0.014
0.055
0.802
trust
time*group
0.077
0.050
0.127
organization
Intercept
4.408
0.031
0.000
***
organization
time
0.008
0.032
0.796
organization
group
-0.013
0.043
0.755
organization
time*group
0.051
0.045
0.253
productiveness
Intercept
4.514
0.030
0.000
***
productiveness
time
0.040
0.031
0.194
productiveness
group
-0.011
0.041
0.784
productiveness
time*group
-0.018
0.043
0.680
responsibility
Intercept
4.255
0.034
0.000
***
responsibility
time
0.032
0.032
0.311
responsibility
group
0.021
0.047
0.660
responsibility
time*group
-0.054
0.044
0.220
anxiety
Intercept
1.942
0.035
0.000
***
anxiety
time
0.028
0.040
0.485
anxiety
group
0.055
0.049
0.261
anxiety
time*group
-0.118
0.056
0.034
*
depression
Intercept
1.528
0.029
0.000
***
depression
time
-0.027
0.031
0.378
depression
group
0.014
0.041
0.736
depression
time*group
-0.002
0.043
0.967
volatility
Intercept
1.777
0.033
0.000
***
volatility
time
0.030
0.032
0.357
volatility
group
-0.010
0.046
0.826
volatility
time*group
-0.044
0.045
0.337
curiosity
Intercept
4.092
0.036
0.000
***
curiosity
time
0.016
0.034
0.634
curiosity
group
-0.065
0.051
0.199
curiosity
time*group
-0.015
0.047
0.757
aesthetic
Intercept
3.817
0.039
0.000
***
aesthetic
time
0.044
0.036
0.224
aesthetic
group
-0.011
0.054
0.834
aesthetic
time*group
-0.070
0.051
0.171
imagination
Intercept
4.404
0.034
0.000
***
imagination
time
-0.058
0.036
0.108
imagination
group
-0.096
0.048
0.044
*
imagination
time*group
0.113
0.050
0.024
*
No significant group effects (higher trait level in self-improvement group at baseline; except for imagination facet) and also no significant differences in the changes over time in ideal-self trait levels (timeXgroup; except for imagination and anxiety facets). No significant changes over time in ideal-self trait levels (time) for most domains/facets (independent of intervention group membership) with the exception of sociability.